Te doy la bienvenida a este post. He recibido algunas dudas sobre como leer varias imágenes de una carpeta, modificarlas y almacenarlas en una nueva ubicación, por ello he preparado un videotutorial en donde podrás encontrar:
- Leer imágenes con OpenCV alamacenadas en una carpeta
- Descartando archivos que no sean imágenes
- Leer solo ciertas extensiones de imágenes
- Almacenando imágenes automáticamente.
A continuación podrás encontrar el código desarrollado en el videotutorial (recuerda cambiar los paths de acuerdo a la ubicación que tengan tus carpetas):
import cv2 import os input_images_path = "C:/Users/Gaby/Desktop/Leer varias imagenes/input_images" files_names = os.listdir(input_images_path) print(files_names) output_images_path = "C:/Users/Gaby/Desktop/Leer varias imagenes/output_images" if not os.path.exists(output_images_path): os.makedirs(output_images_path) print("Directorio creado: ", output_images_path) count = 0 for file_name in files_names: #print(file_name) ''' if file_name.split(".")[-1] not in ["jpeg", "png"]: continue ''' image_path = input_images_path + "/" + file_name print(image_path) image = cv2.imread(image_path) if image is None: continue image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) image = cv2.resize(image, (100, 100), interpolation=cv2.INTER_CUBIC) cv2.imwrite(output_images_path + "/image" + str(count) + ".jpg", image) count += 1 ''' cv2.imshow("Image", image) cv2.waitKey(0) cv2.destroyAllWindows() '''
NOTA: Si te parecieron bonitas las imágenes de mascotas que usé en el video y deseas acceder a ellas, puedes encontrarlas en este link.