概述
方法一:
参考博客opencv播放视频实时显示帧速(FPS),即是每秒帧数
我对其中的方法进行了函数的封装,可以直接复制过去用。
//显示帧率函数1
void ShowFPS_Method_One(Mat &dstImage) {
char str[20]; //存放字符串化的帧率
double fps; //帧率
double t_front, t_now; //用于中间计算
t_front = (double)getTickCount(); //返回从操作系统启动到当前所经过的毫秒数
t_now = ((double)getTickCount() - t_front) / getTickFrequency(); //getTickFrequency返回每秒的计时周期数
fps = 1.0 / t_now;
string FPSstring("FPS:");
sprintf_s(str, "%.2f", fps);
FPSstring += str;
//在帧上显示"FPS:XXXX"
putText(dstImage, FPSstring, Point(5, 20),
CV_FONT_HERSHEY_SIMPLEX, 0.5, Scalar(255, 255, 255));
}
其中dstImage为要输出的图片,将其作为形参传入。
其中:
getTickCount()函数返回从操作系统到当前所经过的毫秒数
getTickFrequency()函数返回每秒的计时周期数
方法二:
参考博客OpenCV - 计算相机和视频的帧速率FPS
//显示帧率函数2
void ShowFPS_Method_Two(VideoCapture &cap, Mat &dstImage) {
double fps = cap.get(CV_CAP_PROP_FPS); //获取帧率
//将帧率显示在图片上
char str[20];
string FPSstring("FPS:");
sprintf_s(str, "%.2f", fps);
FPSstring += str;
putText(dstImage, FPSstring, Point(5, 20),
CV_FONT_HERSHEY_SIMPLEX, 0.5, Scalar(255, 255, 255));
}
其中使用了OpenCV带有的VideoCapture类的get()方法。
最后
以上就是大力蜻蜓为你收集整理的OpenCV在图像上显示帧率的全部内容,希望文章能够帮你解决OpenCV在图像上显示帧率所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复