【发布时间】:2013-03-10 03:00:32
【问题描述】:
在使用 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;
输出:
Frame width: 640
Frame height: 480
Mat width: 480
Mat height: 640
【问题讨论】: