opencv—视频和图片的相互转换

**

视频分解成图片

**

"""
视频分解成图片
1.load读取视频
2.读取视频的info信息
3.parse解码,拿到单针视频
4.展示imshow 保存imwrite
"""

import cv2
cap=cv2.VideoCapture("1.mp4") # 获取视频打开的句柄
isOpen = cap.isOpened # 判断是否能打开成功
print(isOpen)

fps =cap.get(cv2.CAP_PROP_FPS) # 帧率,视频每秒展示多少张图片
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) # 获取宽度信息
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) # 获取高度信息

print(fps,width,height)
# 15.0  272  480

i=0
while(isOpen):
    if i==10:
        break
    else:
        i=i+1
    (flag,frame)=cap.read() # 读取每一张图片 flag表示是否读取成功,frame是图片
    fileName = 'image'+ str(i) + '.jpg'
    if flag ==True:
        cv2.imwrite(fileName,frame,[cv2.IMWRITE_JPEG_QUALITY,100]) # 最后一个list是质量控制

print("end")

**

图片合成视频

**

import cv2
img=cv2.imread("image1.jpg")
imgInfo=img.shape
size = (imgInfo[1],imgInfo[0])

#文件名称 可以使用的编码器  选择帧率5帧,size视频的大小
videoWrite = cv2.VideoWriter("2.mp4",-1,5,size) # 创建一个对象

for i in range(1,10):
    fileName = "image" + str(i) + ".jpg"
    img = cv2.imread(fileName)
    videoWrite.write(img) # 写入
    
print("end")
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值