opencv_annotation
genera el siguiente mensaje de error y se cierra:
The image folder given does not exist. Please check again!
... a pesar de que se le ha pasado una ruta absoluta a un directorio existente con imágenes como argumento --images
.
Usé el siguiente comando:
$ opencv_annotation --images /home/taras/Projects/OpenCV/resources/images/goban_empty/ --annotations /home/taras/Projects/OpenCV/resources/data/goban_empty_annotations.txt
La carpeta, especificada para el argumento --images
, existe. Intenté eliminar la barra diagonal final de la ruta; esto no tuvo ningún efecto. También probé rutas a otras carpetas existentes, como /home
- sigue siendo el mismo resultado, se imprime el mismo mensaje de error.
cv :: CommandlineParser usa argumentos en la forma --key=value
(le falta el =
), así que, a menos que lo use como:
$ opencv_annotation --images=/home/taras/Projects/OpenCV/resources/images/goban_empty/ --annotations=/home/taras/Projects/OpenCV/resources/data/goban_empty_annotations.txt
, simplemente _ ignorará_ cualquier ruta que le des.
@berak ¡ Gracias! Sí, de hecho funciona con =
. Mi error.
Vuelva a abrir este problema. Me encontré exactamente con el mismo problema de no usar =
para el parámetro. Está bien para mí, el =
es necesario, pero en mi opinión, no usar el =
debe producir algún tipo de error. Vocación
$ opencv_annotation -i /home/user/images/ -a /home/user/annotations.txt
(sin =
) da como resultado que no se establezcan ni --images
ni --annotations
, ¿correcto? El problema es que actualmente no hay ningún tipo de mensaje de error ya que https://github.com/opencv/opencv/blob/master/apps/annotation/opencv_annotation.cpp#L238 no parece activarse, simplemente hay esta salida en la línea de comando sin apertura de ventana:
* mark rectangles with the left mouse button,
* press 'c' to accept a selection,
* press 'd' to delete the latest selection,
* press 'n' to proceed with next image,
* press 'esc' to stop.
Comentario más útil
cv :: CommandlineParser usa argumentos en la forma
--key=value
(le falta el=
), así que, a menos que lo use como:, simplemente _ ignorará_ cualquier ruta que le des.