OpenCV 设置分辨率导致阅读框失败

OpenCV setting resolution results failing in reading frames

我试图用我的 raspberry pi 4 b 更改 raspicam v2 的分辨率,但每次我尝试读取帧时,这段代码都会给我错误...我是否遗漏了什么?我可以在不设置这些参数的情况下轻松读取帧,但它给我的分辨率真的很差。

#include "opencv2/opencv.hpp"
using namespace cv;
int main(int argc, char **argv)
{
    VideoCapture cap;
    if (!cap.open(0))
        return 0;
     cap.set(CAP_PROP_FRAME_WIDTH, 1920);
     cap.set(CAP_PROP_FRAME_HEIGHT, 1080);
     cap.set(CAP_PROP_FPS, 1);
    for (;;)
    {
        Mat frame;   
        if(cap.read(frame))
        {
            std::cout << "I'm trying out" << std::endl;
            imwrite("test.jpg",frame);
            return 0;
        } else{
            std::cout << "doesn't went as planned" << std::endl;
        }
    }
    return 0;
}

问题出在raspi-config,我以为我已经通过config.txt启用了摄像头,但我没有。所以当我进入接口选项卡并启用相机时,一切都运行良好。谢谢大家的帮助:)