使用opencv保存视频时遇到的坑

在使用OpenCV将PRNet处理后的图像帧保存为视频时,遇到了视频无法打开、图像显示异常的问题。通过调整framesize参数,确保与图像尺寸匹配,并释放VideoWriter资源,解决了视频大小异常的问题。然而,视频帧仍显示不正确。经过排查,发现imshow与imwrite对图像数据类型要求不同,需要将图像数据类型转换为8位整型(int8),最终成功保存了正确的视频帧。
摘要由CSDN通过智能技术生成

这两天在运行PRNet的代码,由于源代码是对二维图像进行处理,所以自己改了一下,先读取视频的每一帧,然后将这一帧图像作为输入,调用prnet,再将网络的输出一帧帧保存成视频。按理说很简单的几行代码就可以完成,但是在使用opencv将输出的每一帧图像保存成视频时,问题就出现了。

首先我把我的部分代码放上来。image.shape=(1280,720,3)

cap = cv2.VideoCapture("video/huachunying.mp4")#打开视频
# 通过摄像头的方式
# cap=cv2.VideoCapture(0)

wid = int(cap.get(3))

hei = int(cap.get(4))

framerate = int(cap.get(5))
image=plot_kpt(image, kpt)
image_kpt.append(image)
fourcc = cv2.VideoWriter_fourcc(*'XVID')

framesize=(wid,hei)

outCamera = cv2.VideoWriter('video/result/outputCamera1.avi', fourcc, framerate, framesize)

for i in range(len(image_kpt)):
    image=image_kpt[i]
    cv2.imshow("frame",image)
    cv2.waitKey(int(1000/framerate))
    #image=(image*255).astype('int8'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值