我只是想实时更改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 !!
答案 0 :(得分:0)
对不起,如果我的英语不完美,我的第一语言是法语。
你不能改变FPS,因为raspicam_cv.cpp CV_CAP_PROP_FPS
在函数集()中不是一个有价值的参数,它什么都不做。此外,它与CV_CAP_PROP_MODE相同。
使用CV_CAP_PROP_FPS参数获取函数总是发送30。
要获得更多fps,请转到安装raspicam的文件,然后转到src/private/private_impl.cpp
在第66行,您会发现void Private_Impl::setDefaultStateParams()
将State.framerate
的值更改为60.然后,转到第530行并注释以下行:
if ( shutter > 330000 )
shutter = 330000;
最后,重建并制作并重新安装。这对我有用。