Haz el segundo paso de la manzana podrida: cómo convertir un video en una imagen enmarcada en Python, cómo convertir una imagen enmarcada en un video

Código directamente

"" " Video a imagen " ""
CV2 Puerto 
DEF GetPhoto (VIDEO_IN , video_save):
CAP = cv2.VideoCapture (VIDEO_IN) # abrir un archivo de vídeo
de n_frames = int (cap.get (cv2.CAP_PROP_FRAME_COUNT)) # número de fotogramas de vídeo
fps = cap.get (cv2.CAP_PROP_FPS) # vídeo velocidad de fotogramas de
DUR de n_frames = / FPS # tiempo de vídeo
num_frame = 0
Juez = cap.isOpened ()
al mismo tiempo juez:
en Bandera , marco cap.read = () # en la bandera es el estado de lectura, marco marco siguiente
cv2.imshow ( 'video' , marco) # captura si cv2.waitKey ( 0) == 27: pausa


if flag:
num_frame + = 1 # print (" Guardando % d foto "% num_frame) # cv2.imwrite ('a \\' + str (num_frame) + '.jpg', frame) # cv2.imwrite ( ' Ruta ' + ' nombre ' + ' sufijo ' , el cuadro a guardar ) # cv2.waitKey (1) # # new_path = str (num_frame) + '.jpg' # # cv2.imencode ('. Jpg', marco) [1] .tofile (new_path) else: break print ( " Duración del video :% d segundos "% dur) print ( " Fotogramas totales del video :% d fotogramas guardados :% d"% (n_frames , num_frame)) imprimir ( "Fotogramas por segundo










(FPS):% .1lf "% fps)

def main ():
video_in = 'apple.flv'
video_save = '2th'
getphoto (video_in , video_save)


if __name__ == '__main__':
main ()

"" " Imagen a video " ""
import cv2 
import os

def getvideo (photo_path , video_name , fps):
filelist = os.listdir (photo_path)
size = ( 1440 , 1080)
video = cv2.VideoWriter (video_name , cv2.VideoWriter_fourcc ( 'I' , '4' , ' 2 ' , ' 0 ') , fps , tamaño)
num = int ( 0)
para el elemento en la lista de archivos:
# print (item)
num + = 1 print ( ' 转化 到% d '% num) si item.endswith ( ' .jpg '): item = photo_path + item



img = cv2.imread (item)
video.write (img)
video.release ()
cv2.destroyAllWindows ()

def main ():
photo_path = 'E: \\ try apple \\ aa \\ '
video_name = 'new.avi '
fps = 30
getvideo (photo_path , video_name , fps)

if __name__ == ' __main__ ':
main ()
 

Lo repugnante que quiero decir es: cuando la imagen se convierte en video, no debes equivocar el tamaño de píxel de la imagen. Estoy buscando errores de Bai Chen a las 2 AM, Baidu.

También está la salida filelist = os.listdir (photo_path) . Se encuentra que no está en el orden lexicográfico de los nombres de archivo, como una matriz bidimensional, pero es extraño que las imágenes no se lean secuencialmente, pero el video sintetizado es realmente correcto De Pero si sus imágenes tienen algunas de las mismas imágenes, el video sintetizado siempre mostrará su misma imagen.

Intenté 500 imágenes, 50 de ellas eran todas pantallas negras al principio, y los videos sintetizados no comenzaron, pero siempre mostraban pantallas negras. Está bien eliminar estas 50 imágenes.

Supongo que te gusta

Origin www.cnblogs.com/philo-zhou/p/12702769.html
Recomendado
Clasificación