目录
2.3.必须用相机自带SDK(Software Development Kit)软件开发工具包调用相机
一.问题
继Python+Opencv 调用USB摄像头(一)结尾代码,发现调用不了,换了一个相机,还是不行.
测试代码:
import cv2
cams_test = 10
for i in range(0, cams_test):
cap = cv2.VideoCapture(i)
test, frame = cap.read()
print("i : "+str(i)+" /// result: "+str(test))
只有0是ture即笔记本自带相机
i : 0 /// result: True
support SSE4.1
i : 1 /// result: False
[ WARN:0] terminating async callback
i : 2 /// result: False
i : 3 /// result: False
i : 4 /// result: False
i : 5 /// result: False
i : 6 /// result: False
i : 7 /// result: False
i : 8 /// result: False
i : 9 /// result: False
用(一)结尾代码(ps:这段代码把1改为0是可以运行的,能调出笔记本的摄像头),出现这个错误提示
- 错误:assertion faile 断言失败
二.问题分析
2.0.分析
- 找到了同样错误的两篇博客:
-
opencv 报错 OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshowhttps://blog.youkuaiyun.com/sjx1989/article/details/79038996
-
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshowhttps://blog.youkuaiyun.com/dlhlSC/article/details/51298186
- 我们的传参错误出现在frame,而frame又来源于cap.read(),cap又源于cv2.VideoCapture(1)其实也就是测试代码中就暴露的问题 没有调用成功