繁体   English   中英

在linux(raspbian)opencv set(CV_CAP_PROP_FPS,60)中不起作用

[英]in linux( raspbian) opencv set(CV_CAP_PROP_FPS, 60) is not working

我只想实时更改fps图像处理,但是fps不变

我该如何解决这个问题

有人说您必须安装libv4l-dev和v412-ctl

所以我使用apt-get intall进行安装,接下来我该如何解决这个问题?

这是我的来源

#include <iostream>
#include <raspicam/raspicam_cv.h>
#include <opencv2/imgproc.hpp>

using namespace std;

int main (void) {

    raspicam::RaspiCam_Cv Camera;
    cv::Mat image;

    Camera.set( CV_CAP_PROP_FORMAT, CV_8UC3);
    Camera.set(CV_CAP_PROP_FPS,60);
    Camera.set( CV_CAP_PROP_FRAME_WIDTH, 320 );
    Camera.set( CV_CAP_PROP_FRAME_HEIGHT, 240);

    if (!Camera.open()) {cerr<<"Error opening the camera"<<endl;return -1;}

    while(1){
        Camera.grab();
        Camera.retrieve ( image);

        cv::cvtColor(image, image, cv::COLOR_BGR2RGB);
        int fps = (int)(Camera.get(CV_CAP_PROP_FPS));
        cout << "fps" << fps << endl;
        cv::imshow( "test", image );
        if ( cv::waitKey(1) > 0 ) break;

    }

    Camera.release();
}

只是cout是30! 不支持60覆盆子相机640x480p 60 / 90fps !!

抱歉,如果我的英语不完美,我的母语是法语。

您无法更改FPS,因为在raspicam_cv.cpp CV_CAP_PROP_FPS在函数set()中不是有价值的参数,它什么也不做。 而且,它与CV_CAP_PROP_MODE相同。

带有CV_CAP_PROP_FPS参数的get函数始终发送30。

要获得更多fps,请转至安装raspicam的文件,然后转至src/private/private_impl.cpp

在第66行,您将发现void Private_Impl::setDefaultStateParams()State.framerate的值State.framerate为60。此后,转到530行并注释以下行:

if ( shutter > 330000 )
    shutter = 330000;

最后,重新生成并重新安装。 这对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM