windows使用python opencv 录视频打不开_无法在Python中使用OpenCV打开保存的视频(Windows 10)...

在Windows 10环境下使用Python和OpenCV录制视频时遇到问题,无法打开保存的视频。解决方案是在while循环中检查cap.read()的返回值,通过if-else块确保帧被正确处理并写入。当帧不存在时,退出循环,释放资源。参考提供的代码示例,可以解决视频打开失败的错误。
摘要由CSDN通过智能技术生成

很明显,您的错误发生在最后一帧;这就是为什么您的imshow仍然在工作,但是它出错了,并且没有完成while循环之后发生的视频的编写。在

cap.read()返回的第一个值是判断帧是否存在/是否被读取的布尔值。因此,您只需在代码中插入if-else块来执行处理,如果帧被读取,quit循环{},这样就可以完成框架的编写。在

这将修补您的代码:import numpy as np

import cv2

cap = cv2.VideoCapture('C:\\Users\\khan1\\Desktop\\python project\\color_threshold\\train1.mov')

fourcc = cv2.VideoWriter_fourcc(*'XVID')

out = cv2.VideoWriter('C:\\Users\\khan1\\Desktop\\python project\\color_threshold\\output.avi',fourcc, 20.0, (640,480))

while(cap.isOpened()):

ret, frame = cap.read()

if ret:

hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

lower_green = np.array([40, 60, 60])

upper_green = np.array([80, 255, 255])

mask = cv2.inRange(hsv, lower_green, upper_green)

mask = cv2.GaussianBlur(mask, (7, 7), 0)

res = cv2.bitwise_and(frame, frame, mask=mask)

out.write(res)

cv2.namedWindow("res", cv2.WINDOW_NORMAL)

cv2.imshow('res', res)

if (cv2.waitKey(1) & 0xFF) == ord('q'): # Hit `q` to exit

break

else:

break

# Release everything if job is finished

out.release()

cap.release()

cv2.destroyAllWindows()

请参阅同一进程的示例here。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值