1 OpenCV打开摄像头显示摄像头帧率
通过OpenCV打开摄像头,并获取摄像头的视频帧进行显示或者继续进一步后处理,我们都希望显示当前的帧率,特别是对于实时性要求较高的应用,比如说实时目标检测,下面给出了一段显示OpenCV摄像头帧率的示例代码,可供参考。
#include <iostream>
#include <chrono>
#include <opencv2/opencv.hpp>
int main()
{
cv::VideoCapture camera_reader;
camera_reader.set(cv::CAP_PROP_FRAME_WIDTH, 640); //设置宽度
camera_reader.set(cv::CAP_PROP_FRAME_HEIGHT, 480); //设置长度
camera_reader.set(cv::CAP_PROP_FOURCC, cv::VideoWriter::fourcc('M', 'J', 'P', 'G'));
camera_reader.set(cv::CAP_PROP_FPS, 30); // 帧率
camera_reader.open(0);
int camera_fps = 0;
while (camera_reader.isOpened())
{
auto beforeTime = std::chrono::steady_clock::now();
cv::Mat input_frame;
camera_reader.read(input_frame);
if (input_frame.empty())
break;
// 视频帧上增加FPS
std::string str = "FPS:" + std::to_string(camera_fps);
cv::putText(input_frame, str.c_str(), cv::Point(10, 30), cv::FONT_HERSHEY_COMPLEX, 1, cv::Scalar(0, 255, 255), 2, 8, 0);
cv::imshow("camera", input_frame);
if (27 == cv::waitKey(33))
break;
auto afterTime = std::chrono::steady_clock::now();
double duration_millsecond = std::chrono::duration<double>(afterTime - beforeTime).count();
camera_fps = int(1 / duration_millsecond);
}
cv::destroyWindow("camera");
camera_reader.release();
return 0;
}
在上述代码中,我们使用std::chrono
计算每一帧的耗时,然后计算每一次的帧率,帧率显示的示例图片如下:
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:OpenCV – OpenCV打开摄像头显示摄像头帧率
原文链接:https://www.stubbornhuang.com/2708/
发布于:2023年06月29日 17:00:22
修改于:2023年06月29日 17:00:22
当前分类随机文章推荐
- C++ - std::map - 存储动态指针时正确释放内存 阅读4640次,点赞1次
- C++ - Windows获取电脑上摄像头设备数目、名字以及id 阅读1097次,点赞0次
- C++ 回调函数 阅读3292次,点赞0次
- C++ - 在CTC解码算法后移除相邻重复和blank索引 阅读588次,点赞0次
- C++ - 日志库easylogging++初始化时不生成默认日志文件mylog.txt 阅读87次,点赞0次
- C++ - Windows系统使用C++切换音频默认输出设备 阅读79次,点赞0次
- C++11/std::shared_ptr - 循环引用问题 阅读4609次,点赞0次
- C++11 - std::string - stod/stof/stoi/stol/stold/stoll/stoul/stoull,由std::string转换为int/long/float/double等其他类型 阅读4284次,点赞0次
- C++ - 将Unicode std::wstring字符串转换为Unicode std::string转义字符,类似于\uxxxx的形式 阅读1928次,点赞0次
- C++STL容器 - std::vector元素访问方式总结 阅读1154次,点赞0次
全站随机文章推荐
- 资源分享 - Real-Time Rendering, Fourth Edition 英文高清PDF下载 阅读55502次,点赞21次
- WordPress - 网站性能优化,设置浏览器缓存静态资源 阅读131次,点赞0次
- 神经网络 - 模型训练需注意的细节与超参数调优 阅读1100次,点赞1次
- 资源分享 - Interactive Computer Graphics - A top-down approach with WebGL(Seven 7th Edition)英文高清PDF下载 阅读3098次,点赞0次
- 资源分享 - C Primer Plus(第6版)中文版 高清PDF下载 阅读6657次,点赞4次
- C++ - 将Unicode std::wstring字符串转换为Unicode std::string转义字符,类似于\uxxxx的形式 阅读1928次,点赞0次
- WordPress - 在文章被复制时弹出弹窗提示转载注明原创 阅读3433次,点赞2次
- 资源分享 - GPU Pro 360 - Guide to GPGPU 英文高清PDF下载 阅读2553次,点赞0次
- C++11 - 解析并获取可变参数模板中的所有参数 阅读1618次,点赞0次
- WordPress - 后台登录成功/失败发送邮件给网站管理员 阅读3361次,点赞0次
评论
169