Читать книгу Visión artificial - Tomás Domínguez Mínguez - Страница 14
3.5 ALMACENAMIENTO DE UNA IMAGEN EN UN ARCHIVO
ОглавлениеYa sabe cómo mostrar en pantalla las imágenes cargadas previamente de un archivo o creadas dentro del propio programa como un objeto de la clase ndarray. Ahora va a aprender a guardarlas en un fichero. Para ello, OpenCV proporciona la función:
imwrite(archivo, imagen)
El primer argumento de esta función es el nombre del archivo (o un path) en el que se va a guardar la imagen contenida en el segundo.
Para practicar con esta nueva función, completará el programa del apartado anterior, en el que dibujaba una rejilla, para que, en vez de mostrarla, se almacene en un archivo. El código del programa es el siguiente.
La principal diferencia de este código con el descrito en el apartado anterior es que se sustituye la función imshow(), que muestra la rejilla en pantalla, por imwrite(), que la almacena en el archivo “rejilla.jpg”, dentro de la carpeta “imagenes”.
cv2.imwrite(‘../imagenes/rejilla.jpg’, img)
Los nombres de los archivos siempre deben tener una extensión, correspondiente a cualquiera de los formatos admitidos. De lo contrario, obtendrá el error: “could not find a writer for the specified extension in function ‘cv::imwrite”.
Si, por equivocación, indicara mal la ruta en la que debe situarse el archivo y esta no existiera, el programa no avisaría del error. Simplemente, no haría nada.
Ejecute el programa y, cuando en la shell de Python aparezca el mensaje “Imagen almacenada”, compruebe que en el directorio “imagenes” exista el archivo creado. Al abrirlo, verá la rejilla que acaba de dibujar.
Si quiere ver las imágenes de la carpeta donde se almacenan sin necesidad de abrirlas, en el explorador de Windows seleccione la opción “Iconos grandes” del menú “Vista”.