Raspberry Pi OpenCv C ++低帧率

时间:2015-10-13 18:03:40

标签: c++ opencv raspberry-pi2 frame-rate

我在我的树莓派2 B +上使用opencv进行实时图像处理。我正在使用raspberry pi的相机并在开始图像处理之前安装了V4l2驱动程序。 问题是我得到大约2-3 fps,延迟大约3秒。我正在做一个实时应用程序,由于这些限制我无法实现它。此外,当我尝试设置我的帧速率和分辨率时,我得到以下错误:

  

视频错误:V4L / V4L2 VIDIOC_CROPCAP

     

VIDEOIO ERROR:不支持设置属性#16

     

VIDEOIO ERROR:不支持设置属性#5

这个问题的可能原因是什么? 这是我的代码:

#include <opencv2/opencv.hpp>
#include "opencv2/highgui/highgui.hpp"
#include <stdio.h>
using namespace cv;
using namespace std;
int main( int argc, char** argv ) {
    namedWindow("Camera",WINDOW_AUTOSIZE);
    VideoCapture cap;
    cap.open(0);
    if(!cap.isOpened())
    {
            cout<<"Camera is not accessible"<<endl;
    }
    int width,length;
    double fps;
    fps=60;
    cap.set(CV_CAP_PROP_CONVERT_RGB,false);

    cap.set(CV_CAP_PROP_FPS,fps);
    cap.set(CV_CAP_PROP_FRAME_HEIGHT,240);
    cap.set(CV_CAP_PROP_FRAME_WIDTH,320);
    Mat frame;
    while(1)
    {
        cap>>frame;
        fps = cap.get(CV_CAP_PROP_FPS);
        width =  cap.get(CAP_PROP_FRAME_WIDTH);
        length = cap.get(CAP_PROP_FRAME_HEIGHT); 
        cout<<fps<<endl<<width<<endl<<length<<endl;
        imshow("Camera",frame);
        waitKey(33);
    }
}

0 个答案:

没有答案