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.


