当前位置: 移动技术网 > IT编程>网页制作>HTML > 将图像转换成.avi视频(opencv实现)

将图像转换成.avi视频(opencv实现)

2020年07月13日  | 移动技术网IT编程  | 我要评论

背景:

  传统的目标检测(如canny边缘检测)不一定在每个不同的场景下都能正确的检测出各个类别的目标物体,所以这里先人工进行场景分类,然后针对每个场景设计一种传统目标检测的方法。

  由于要人工的进行场景分类,所以把每个场景的图像都分别放在一个文件夹里,然后分别将每个文件夹里的图像都生成一个场景的视频就可以了,后续只要针对不同的场景视频设计传统目标检测的方法即可。

将文件夹里的图像转换成.avi视频实现:

import os
import cv2
import numpy as np

path = r'C:\Users\13486\Desktop\biye_photo/'
filelist = os.listdir(path)

fps = 1 #视频每秒1帧
size = (2880, 2880) #需要转为视频的图片的尺寸
#视频保存在当前目录下
video = cv2.VideoWriter(r"C:\Users\13486\Desktop\photo.avi", cv2.VideoWriter_fourcc('I', '4', '2', '0'), fps, size)
for item in filelist:
    # 找到路径中所有后缀名为.JPEG的文件,可以更换为其它图像格式
    if item.endswith('.JPEG'):
        item = path + item
        img = cv2.imread(item)
        img = cv2.resize(img, (2880, 2880))#如果原始图片的尺寸不一样
        video.write(img)
video.release()
cv2.destroyAllWindows()

注意:

(1)使用cv2.VideoWriter_fourcc('I', '4', '2', '0')编码参数,同一个文件夹里图像的大小必须是一样的,可以通过resize实现;

(2)cv2.VideoWriter_fourcc()是编码类型参数:

cv2.VideoWriter_fourcc('I','4','2','0')---未压缩的YUV颜色编码,4:2:0色度子采样。兼容性好,但文件较大。文件扩展名.avi;

cv2.VideoWriter_fourcc('P','I','M','1')---MPEG-1编码类型,文件扩展名.avi。随机访问,灵活的帧率、可变的图像尺寸、定义了I-帧、P-帧和B-帧 、运动补偿可跨越多个帧 、半像素精度的运动向量 、量化矩阵、GOF结构 、slice结构 、技术细节、输入视频格式;

cv2.VideoWriter_fourcc('X','V','I','D')---MPEG-4编码类型,视频大小为平均值,MPEG4所需要的空间是MPEG1或M-JPEG的1/10,它对运动物体可以保证有良好的清晰度,间/时间/画质具有可调性。文件扩展名.avi;

cv2.VideoWriter_fourcc('T','H','E','O')---OGGVorbis,音频压缩格式,有损压缩,类似于MP3等的音乐格式。,兼容性差,件扩展名.ogv;

cv2.VideoWriter_fourcc('F','L','V','1')---FLV是FLASH VIDEO的简称,FLV流媒体格式是一种新的视频格式。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等缺点。文件扩展名为.flv

本文地址:https://blog.csdn.net/jancis/article/details/107246992

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网