当前位置: 首页 > news >正文

opencv读取摄像头并读取时间戳

下面这行代码是获取摄像头每帧的时间戳:

        double timestamp = cap.get(cv::CAP_PROP_POS_MSEC);

改变帧率的方法是:

cap.set(cv::CAP_PROP_FPS, 30);   //帧率改为30

但是实际测试时发现帧率并未被改变,这个可能和VideoCapture cap(cv::CAP_V4L2)有关,cv::CAP_V4L2只是其中一种读取方法,这个参数可能需要和相机采用的驱动方法有关。

编译:

g++ camera_data.cpp -lopencv_core -lopencv_highgui -lopencv_imgcodecs -lopencv_videoio

#include <iostream>
#include <string>
#include <sstream>
#include <fstream>#include <time.h>using namespace std;// OpenCV includes
#include "opencv2/core.hpp"
#include "opencv2/highgui.hpp"
using namespace cv;int main(int argc, const char** argv)
{// 1.创建视频采集对象;VideoCapture cap(cv::CAP_V4L);// 2.打开默认相机;cap.open(0);int curFPS=cap.get(cv::CAP_PROP_FPS);cout<< "FPS: "<< curFPS<<endl;cap.set(cv::CAP_PROP_FPS, 30);int curFpsSet=cap.get(cv::CAP_PROP_FPS);cout<< "set FPS: "<< curFpsSet<<endl;// 3.判断相机是否打开成功;if (!cap.isOpened())return -1;namedWindow("Video", 1);for (;;){// 获取新的一帧;Mat frame;double timestamp = cap.get(cv::CAP_PROP_POS_MSEC);cout<<fixed;cout<<"time: "<< timestamp<<endl;time_t end_time = time(NULL);printf("ctime is %s\n",ctime(&end_time)); //得到日历时间cap >> frame;if (frame.empty())return 0;// 显示新的帧;imshow("Video", frame);// cv::waitKey(1);// 按键退出显示;if (waitKey(3) >= 0) break;}// 5.释放视频采集对象;cap.release();return 0;
}
http://www.lryc.cn/news/189510.html

相关文章:

  • WebRTC 系列(四、多人通话,H5、Android、iOS)
  • uniapp 点击 富文本元素 图片 可以预览(非nvue)
  • 【2023年11月第四版教材】第24章《法律法规与标准规范》(合集篇)
  • 提升战斗力!吃鸡行家分享顶级游戏干货,助你轻松拿下绝地求生
  • C语言练习百题之宏#define命令
  • 阿里云存储I/O性能、IOPS和吞吐量是什么意思?
  • Linux知识点 -- 网络基础 -- 数据链路层
  • git服务器宕机后,怎么用本地仓库重新建立gitlab服务器(包括所有历史版本)
  • 华为云云耀云服务器L实例评测 | 实例使用教学之综合导览
  • Elasticsearch 高级查询用法
  • 网络架构介绍
  • 第53节——Redux Toolkit初识
  • AndroidStudio报错:Plugin with id ‘kotlin-android‘ not found.
  • 【ADB】借助ADB模拟滑动屏幕,并进行循环
  • BN体系理解——类封装复现
  • 请求和响应的概述
  • (深度学习快速入门)A Gentle Introduction to Graph Neural Networks 笔记
  • VIM指令
  • Android 10.0 framework层实现app默认全屏显示
  • 【计算机网络黑皮书】传输层
  • 轻量限制流量?阿里云轻量应用服务器月流量包收费说明
  • Linux手记
  • springboot配置
  • 大数据中的一些词汇解释
  • 10月11-12日上课内容 Ansible
  • android studio 我遇到的Task :app:compileDebugJavaWithJavac FAILED问题及解决过程
  • PLC电梯控制系统
  • FastAPI学习-27 使用@app.api_route() 设置多种请求方式
  • 08. 机器学习- 线性回归
  • 好奇喵 | PT(Private Tracker)——什么是P2P,什么是BT,啥子是PT?