相同的C ++程序在Linux上的另一个目录中不起作用

时间:2018-05-08 16:23:53

标签: linux opencv cmake debian

我已经制作了一个简单的程序,打开网络摄像头并使用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;
}

感谢您的帮助。

0 个答案:

没有答案