为了账号安全,请及时绑定邮箱和手机立即绑定

相当于 Python 的 OpenCV 中的 FileNotFoundError

相当于 Python 的 OpenCV 中的 FileNotFoundError

撒科打诨 2021-10-12 16:18:13
我目前有一个程序,它接受一个视频文件的输入,然后将掩盖颜色,因此有 3 个不同的窗口:一个只显示绿色,一个只显示黄色,一个只显示红色。这部分工作正常,但我只是想获取它,以便如果它在给定路径中找不到文件,它将只使用网络摄像头。我尝试使用try exceptFileNotFoundError使用语句,但这似乎不适用于 OpenCV。import cv2import numpy as nptry:    device = cv2.VideoCapture(r"%Downloads%\Traffic light changing between green yellow and red.mp4")except FileNotFoundError:    device = cv2.VideoCapture(0)while True:    ret, frame = device.read()    if not ret:        break    hsv = cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)    lower_range_red = np.array([100,100,175])    upper_range_red = np.array([255,255,255])    lower_range_yellow = np.array([5,100,225])    upper_range_yellow = np.array([50,255,255])    lower_range_green = np.array([40,50,200])    upper_range_green = np.array([120,200,255])    mask_red = cv2.inRange(hsv, lower_range_red, upper_range_red)    mask_yellow = cv2.inRange(hsv, lower_range_yellow, upper_range_yellow)    mask_green = cv2.inRange(hsv, lower_range_green, upper_range_green)    result_red = cv2.bitwise_and(frame,frame,mask=mask_red)    result_yellow = cv2.bitwise_and(frame,frame,mask=mask_yellow)    result_green = cv2.bitwise_and(frame,frame,mask=mask_green)    cv2.imshow("Red",result_red)    cv2.imshow("Yellow",result_yellow)    cv2.imshow("Green",result_green)    if cv2.waitKey(1) == 27 & 0xFF:        breakdevice.release()cv2.destroyAllWindows()
查看完整描述

2 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

您可以检查它是否正确打开。

if device.isOpened()


查看完整回答
反对 回复 2021-10-12
?
湖上湖

TA贡献2003条经验 获得超2个赞

您可以使用检查文件是否存在


import os.path

os.path.isfile(fname) 

但是,您没有例外。


查看完整回答
反对 回复 2021-10-12
  • 2 回答
  • 0 关注
  • 212 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号