小编use*_*424的帖子

Ubuntu网络摄像头上的Opencv错误(Logitech C270)捕获 - > HIGHGUI错误:V4L/V4L2:VIDIOC_S_CROP

在使用logitech C270(OpenCV 2.4.2/C++)在Ubuntu上运行简单的摄像头捕获时出现此错误消息:

HIGHGUI错误:V4L/V4L2:VIDIOC_S_CROP

并进一步:

损坏的JPEG数据:标记0xd1之前的2个外部字节损坏的JPEG数据:标记0xd6之前的1个外部字节损坏的JPEG数据:标记0xd0之前的1个外部字节损坏的JPEG数据:标记0xd0之前的1个外部字节

我得到帧但是在写入Mat对象时交换了帧宽和高度的值,见下图:

Mat frame;
videoCapture = new VideoCapture(camId);
if(!videoCapture->isOpened()) throw Exception();

cout << "Frame width: " << videoCapture->get(CV_CAP_PROP_FRAME_WIDTH) << endl;
cout << "Frame height: " << videoCapture->get(CV_CAP_PROP_FRAME_HEIGHT) << endl;

(*videoCapture) >> frame;

cout << "Mat width: " << frame.rows << endl;
cout << "Mat height: " << frame.cols << endl;
Run Code Online (Sandbox Code Playgroud)

输出:

Frame width: 640
Frame height: 480
Mat width: 480
Mat height: 640
Run Code Online (Sandbox Code Playgroud)

webcam opencv capture

11
推荐指数
3
解决办法
2万
查看次数

标签 统计

capture ×1

opencv ×1

webcam ×1