Creacion de un video a partir de dos carpetas con fotos
Вставка
- Опубліковано 20 бер 2024
- Codigo que combina del archivos de fotos “F:\Inteligencia artificial\fotos ordenadas del caballo y el bosque”, que contienen dos carpetas “ y crea un video, "output.avi ", si bien el video es muy malo, se logra hacerlo a partir de fotos.
El proceso fue el siguiente, a partir de dos videos, el del caballo corriendo y el paseo en el bosque, se realizaron dos carpetas: "bosque fotos" y "fotos del callo", que contienen fotos del caballo corriendo y del paseo en el bosque, un proceso muy largo de por si luego se combinaron con un codigo creado por mistral y luego corregido con ChatGTP 3.5.
Inicialmente este proyecto comenzó con crear un video a partir de un texto, no utilizando alguna aplicación, si no crear un codigo escrito en Python, pero parece que esto será algo muy largo
Codigo que combina dos archivos de fotos, que estan en las carpetas : ”bosque fotos” y “fotos del caballo” y que estan a su vez en “F:\Inteligencia artificial\fotos ordenadas del caballo y el bosque”, para crear un video denominado “ output.avi” que esta en la carpeta “F:\Inteligencia artificial”
Code that combines two photo files, which are in the folders: “bosque fotos” and “fotos del caballo” and which are in turn in “F:\Inteligencia artificial\fotos ordenadas del caballo y el bosque”, to create a video called “output.avi” which is in the folder “F:\Inteligencia artificial”
sites.google.com/view/creacionxvideo
import cv2
import os
import glob
# Crea una lista de las imágenes del caballo y del bosque
caballo_imgs = glob.glob('F:/Inteligencia artificial/fotos ordenadas del caballo y el bosque/fotos del caballo/*.jpg')
bosque_imgs = glob.glob('F:/Inteligencia artificial/fotos ordenadas del caballo y el bosque/bosque fotos/*.jpg')
# Ordena las imágenes del caballo y del bosque
caballo_imgs.sort()
bosque_imgs.sort()
# Crea una lista para almacenar las imágenes combinadas
frames = []
# Crea un bucle para recorrer las imágenes del caballo y del bosque y combinarlas en un video
for i in range(len(caballo_imgs)):
caballo = cv2.imread(caballo_imgs[i])
bosque = cv2.imread(bosque_imgs[i % len(bosque_imgs)])
# Redimensiona la imagen del caballo para que se ajuste a la imagen del bosque
caballo = cv2.resize(caballo, (bosque.shape[1], bosque.shape[0]))
# Crea una máscara para la imagen del caballo
mask = cv2.cvtColor(caballo, cv2.COLOR_BGR2GRAY)
_, mask = cv2.threshold(mask, 220, 255, cv2.THRESH_BINARY_INV)
# Crea una imagen del bosque con un agujero donde se colocará la imagen del caballo
bosque_con_agujero = cv2.bitwise_and(bosque, bosque, mask=mask)
# Combina la imagen del caballo con la imagen del bosque con agujero
resultado = cv2.add(caballo, bosque_con_agujero)
# Almacena el frame en la lista
frames.append(resultado)
# Guarda el video combinando los frames en un archivo de video
output_video_path = 'F:/Inteligencia artificial/output.avi'
height, width, _ = frames[0].shape
out = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*'MJPG'), 30.0, (width, height))
for frame in frames:
out.write(frame)
# Libera los recursos y cierra las ventanas
out.release()
cv2.destroyAllWindows()
# Imprime mensaje de finalización
print(f'El video se ha guardado en: {output_video_path}')