leer archivos .yml en matlab
Me gustaría leer archivos .yml en Matlab. Estos archivos contienen coordenadas xey de puntos clave en una imagen de cara. Busqué diferentes herramientas pero no encuentro ninguna respuesta.
Mis archivos .yml se ven así
<code>YAML:1.0 Image file: "00032009.jpg" Contours count: 8 Contours: - Name: FO Count: 41 Closed: 0 Points: - x: 682.5947265625000000 y: 743.1998901367187500 - x: 685.9638061523437500 y: 771.3800659179687500 </code>
......
y así
La nota 00032009.jpg es una imagen de una cara xey son coordenadas de un punto en una cara Por ejemplo: la esquina derecha de un ojo, etc.
¿Podría por favor indicar una manera de leer el archivo y luego mostrar los puntos en la imagen de la cara?
Edición 1: Aquí está el error que recibo
<code>Error: File: ReadYamlRaw.m Line: 14 Column: 11 Expression or statement is incorrect--possibly unbalanced (, {, or [. Error in ==> ReadYaml at 38 ry = ReadYamlRaw(filename, 0, nosuchfileaction); </code>
Lo que es raro es la línea 14 en ReadYamlRaw.m
<code>[pth,~,~]= fileparts(mfilename('fullpath')); Parse error at ','(second one) and ']' usage appears to be invalid matlab syntax. </code>
Entonces, ¿cuál es el uso de ~ allí y por qué hay un error?
Edit2: Reemplazé el ~ en la línea anterior con variables ficticias y luego obtengo estos errores O_O
<code> Error using ==> ReadYamlRaw>scan at 81 Unknown data type: logical Error in ==> ReadYamlRaw>scan_map at 138 result.(ich) = scan(r.get(java.lang.String(ich))); Error in ==> ReadYamlRaw>scan at 79 result = scan_map(r); Error in ==> ReadYamlRaw>scan_list at 116 result{ii} = scan(i); Error in ==> ReadYamlRaw>scan at 77 result = scan_list(r); Error in ==> ReadYamlRaw>scan_map at 138 result.(ich) = scan(r.get(java.lang.String(ich))); Error in ==> ReadYamlRaw>scan at 79 result = scan_map(r); Error in ==> ReadYamlRaw>load_yaml at 48 result = scan(yaml.load(fileread([filename, fileext]))); Error in ==> ReadYamlRaw at 19 result = load_yaml(filename, nosuchfileaction); Error in ==> ReadYaml at 38 ry = ReadYamlRaw(filename, 0, nosuchfileaction); </code>
También probé con un archivo yml diferente que se ve así
<code>%YAML:1.0 RE-C: x: 919 y: 580 LE-C: x: 1209 y: 597 N-C: x: 1063 y: 698 FO-B: x: 1045 y: 1114 REL-O: x: 852 y: 597 REL-I: x: 986 y: 600 REL-T: x: 918 y: 564 </code>
Y me salen los siguientes errores.
<code>Java exception occurred: while scanning a directive in "<string>", line 1, column 1: %YAML:1.0 ^ expected alphabetic or numeric character, but found :(58) in "<string>", line 1, column 6: %YAML:1.0 ^ at org.yaml.snakeyaml.scanner.ScannerImpl.scanDirectiveName(ScannerImpl.java:1028) at org.yaml.snakeyaml.scanner.ScannerImpl.scanDirective(ScannerImpl.java:990) at org.yaml.snakeyaml.scanner.ScannerImpl.fetchDirective(ScannerImpl.java:534) at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:251) at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:179) at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:198) at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146) at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105) at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:121) at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480) at org.yaml.snakeyaml.Yaml.load(Yaml.java:399) Error in ==> ReadYamlRaw>load_yaml at 48 result = scan(yaml.load(fileread([filename, fileext]))); Error in ==> ReadYamlRaw at 19 result = load_yaml(filename, nosuchfileaction); Error in ==> ReadYaml at 38 ry = ReadYamlRaw(filename, 0, nosuchfileaction); </code>
Tal vez alguien pueda sacar algo de esto o podría señalar otro conjunto de funciones que funcionaría? Busqué pero no encontré ninguno excepto este.