我有一個樹莓派並在其上安裝了OpenCV和Guvcview。當我打開Guvcview時,我得到了〜17-21 fps,但是當我用Opencv在C++中運行一個簡單的程序(只捕捉攝像頭和顯示幀)時,我只能獲得6 fps。我可以用C++和Opencv以20 fps捕獲嗎?
出了什麼問題?我需要配置Opencv來使用Guvcview的配置?爲什麼guvcview獲得20 fps?我能做什麼?
謝謝。
P.D.我在我的電腦上做了同樣的事情,在這兩種情況下我都能獲得29 fps。
// * ** * ** * ** * ** * ** * ** * ** * ** * ** * **** *這是代碼C++:
#include <iostream>
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
time_t start, end; //variabile di tipo time_t , contiene tempo in sec.
// inizializzo contatore nella dichiarazione
int counter=0;
int main()
{ time(&start);
VideoCapture cap(1);
cap.set(CV_CAP_PROP_FRAME_WIDTH, 640);
cap.set(CV_CAP_PROP_FRAME_HEIGHT, 480);
if (!cap.isOpened())
{ cout << "could not capture";
return 0; }
Mat frame;
namedWindow("camera", 1);
char key = 'a';
while(key != 27)
{ cap.read(frame);
imshow("camera", frame);
//##################
//time at the end of 1 show, Stop the clock and show FPS
time(&end);
++counter;
cout <<"fps: "<< counter/ difftime(end,start) <<endl <<endl;
//##################
key = waitKey(3); }
destroyAllWindows();
return 0;
}
你可以嘗試使用默認分辨率嗎? –
你的意思是刪除:cap.set(CV_CAP_PROP_FRAME_WIDTH,640); cap.set(CV_CAP_PROP_FRAME_HEIGHT,480); ? ...但我需要這個決議...我能以另一種方式設置嗎? – user2501133
是的,你可以註釋掉這些行嗎? –