我正在使用视频捕捉对象来捕获和处理opencv / javacv中的视频帧。 我不知道如何获得帧速率。我想要一个在实时视频捕获期间在后台运行的计时器。它应该在被检测到的脸上暂停并稍后继续。 由于haarcascade文件的处理,每个rame都需要花费很多时间来处理。如何调整帧率。
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
VideoCapture camera = new VideoCapture(0);
答案 0 :(得分:3)
您可以从VideoCapture中提取各种参数,如帧速率,帧高,帧宽等。
cv::VideoCapture input_video;
if(input_video.open(my_device))
{
std::cout<<"Video file open "<<std::endl;
}
else
{
std::cout<<"Not able to Video file open "<<std::endl;
}
int fps = input_video.get(CV_CAP_PROP_FPS);
int frameCount = input_video.get(CV_CAP_PROP_FRAME_COUNT);
double fheight = input_video.get(CV_CAP_PROP_FRAME_HEIGHT);
double fwidth = input_video.get(CV_CAP_PROP_FRAME_WIDTH);
答案 1 :(得分:1)
jsonData
答案 2 :(得分:0)
这answer对我有帮助。有一个常量列表及其值。只需为VideoCapture的get()
方法赋予价值。防爆。 videoCapture.get(5)
,将返回视频的FPS
。