配置:
ubuntu16.04
opencv3.4
罗技c270 webcam
摄像头我在windows上测试了是没问题的,但是到了linux嵌入式板子上就不行了,灯一直不亮。
一开始我以后是opencv的版本问题,换了最新版本的opencv-python4,运行代码显示:VIDEOIO ERROR:V4L: can't open camera by index 0。
代码里是 cap = cv2.VideoCapture(0),各种百度后我改成了 cap = cv2.VideoCapture(-1),报错又变成了:VIDEOIO ERROR: V4L: can't find camera device。
但是这两句报错我在opencv3版本里从没看见过,后来发现是opencv4会提示这两句,而opencv3不会。问题不在opencv这里。
然后我以为是驱动的问题,但是c270是免驱的,并且我可以在/dev目录下找到video0文件,板子可以识别usb摄像头,问题也不在驱动这里,但是为什么运行代码摄像头的灯不亮?
最终我发现我在运行python代码的时候——没加sudo!linux调用设备要sudo才可以!
还是不熟悉linux啊,这个坑踩的。。。。。。
加上sudo以后sudo python xxx.py终于看到摄像头亮了!
至此问题解决。