我已经制作了一个简单的程序,打开网络摄像头并使用OpenCV在Debian 9上设置一些属性。使用这个CMakeLists.txt它已经运行了一段时间了:
cmake_minimum_required(VERSION 2.8)
project( P )
find_package( OpenCV REQUIRED )
add_executable( capcheck capcheck.cpp )
target_link_libraries( capcheck ${OpenCV_LIBS} )
然而,现在当我编译完全相同的东西,但在另一个文件夹中,我在运行程序时遇到此错误:
VIDEOIO ERROR: V4L2: setting property #21 is not supported
VIDIOC_S_CTRL: Invalid argument
这是.cpp:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
VideoCapture capture;
Mat sketchMat;
if (!capture.open(1))
{
cout << "ERROR: Could not open camera " << 1 << endl;
return -1;
}
capture.set(CV_CAP_PROP_FRAME_WIDTH, 1920);
capture.set(CV_CAP_PROP_FRAME_HEIGHT, 1080);
capture.set(CAP_PROP_AUTO_EXPOSURE, 0.25);
capture.set(CAP_PROP_EXPOSURE, 0.03);
capture.read(sketchMat);
return 0;
}
感谢您的帮助。