更换主机后莫名出现的错误,连接不上摄像头,但查询usb摄像头是有0和1的
错误:
[ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (2075) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module v4l2src0 reported: Device '/dev/video1' is not a capture device.
[ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (1053) open OpenCV | GStreamer warning: unable to start pipeline
[ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (616) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
[ WARN:0] global ./modules/videoio/src/cap_v4l.cpp (890) open VIDEOIO(V4L2:/dev/video1): can't open camera by index
原代码:
cv::VideoCapture cap(0);
if(!cap.isOpened()) {
logEvent("无法打开摄像头");
return -1;
}
logEvent("摄像头打开成功");
利用ubuntu自带的cheese试图查看画面,发现系统未检测到摄像头(或者是别的什么提示,有点记不清了)
查询后发现一个及其有效的方法:把0改成-1就解决了
cv::VideoCapture cap(-1);
if(!cap.isOpened()) {
logEvent("无法打开摄像头");
return -1;
}
logEvent("摄像头打开成功");
😺😺😺

1万+

被折叠的 条评论
为什么被折叠?



