python实现视频转图片,图片转视频的功能----解决数据量不足的问题


最近在做一个项目,最主要的问题是数据量不足,而且很难收取,一般的方法是取得小部分数据,然后对其进行扩容



另外一个就是,用手机等有摄像功能的设备区拍摄一段视频,然后对其进行一阵一阵的读取,功能如下

视频转图像:

import cv2
vc = cv2.VideoCapture('视频图片') #读入视频文件
c=0
rval=vc.isOpened()
#timeF = 1  #视频帧计数间隔频率
while rval:   #循环读取视频帧
    c = c + 1
    rval, frame = vc.read()
#    if(c%timeF == 0): #每隔timeF帧进行存储操作
#        cv2.imwrite('smallVideo/smallVideo'+str(c) + '.jpg', frame) #存储为图像
    if rval:
	    #img为当前目录下新建的文件夹
        cv2.imwrite('img/'+str(c) + '.jpg', frame) #存储为图像
        cv2.waitKey(1)
    else:
        break
vc.release()


注释:img/为保存图像的文件,需要提前创建,不然会报错。‘视频图片为视频的位置(这里视频和代码在同一目录下)’


图像转视频:


他的作用不是太大,但也有用,比如,如果你手头没有截视频的软件,你就可以把视频变为图像,然后把不要的图像删除,把剩余的图片转化为视频,这样就可以实现代码截取视频了,代码如下



import cv2
import glob

fps = 20   #保存视频的FPS,可以适当调整

#可以用(*'DVIX')或(*'X264'),如果都不行先装ffmepg: sudo apt-get install ffmepg
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
#saveVideo.avi是要生成的视频名称,(384,288)是图片尺寸
videoWriter = cv2.VideoWriter('saveVideo111.avi',fourcc,(384,288))#括号可能是中文的,改一下,384,288需要改成你的图片尺寸,不然会报错
#imge存放图片
imgs=glob.glob('imge/*.jpg')
for imgname in imgs:
    frame = cv2.imread(imgname)
    videoWriter.write(frame)
videoWriter.release()


  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值