linux opencv打不开摄像头

配置:

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终于看到摄像头亮了!

至此问题解决。

你可能感兴趣的:(嵌入式)