C++/Qt 使用OpenCV打开摄像头,旋转视频,计算fps
C++/Qt 使用OpenCV打开摄像头,旋转视频,计算fps
设置摄像头参数 不要随意修改,同时也不一样会修改成功,需要根据实际摄像头的参数选择设置
/*设置摄像头参数 不要随意修改capture.set(CV_CAP_PROP_FRAME_WIDTH, 1080);//宽度capture.set(CV_CAP_PROP_FRAME_HEIGHT, 960);//高度capture.set(CV_CAP_PROP_FPS, 30);//帧数capture.set(CV_CAP_PROP_BRIGHTNESS, 1);//亮度 1capture.set(CV_CAP_PROP_CONTRAST,40);//对比度 40capture.set(CV_CAP_PROP_SATURATION, 50);//饱和度 50capture.set(CV_CAP_PROP_HUE, 50);//色调 50capture.set(CV_CAP_PROP_EXPOSURE, 50);//曝光 50*/
transpose
函数原型
/**
* 转置,相当于沿对角线翻转
* @param src 输入的源图像
* @param dst 输出的目标图像
* @return
*/
flip
函数原型
/**
* 实现图像的翻转
* @param src 输入的源图像
* @param dst 输出的目标图像
* @param flipCode 翻转码,
* 0 : 表示沿 X 轴翻转
* > 0 : 如 1,表示沿 Y 轴翻转,
* < 0 : 如 -1,表示既沿 X 轴翻转,又沿 Y 轴翻转,等价于旋转180°
* @return
*/
测试代码:
//#include <iostream>
//#include <opencv2/core.hpp>
//#include <opencv2/highgui.hpp>
//#include <opencv2/imgproc.hpp>
#include "opencv2/opencv.hpp"
#include <QTime>
#include <QDebug>//using namespace std;int main(void)
{#if 1cv::Mat srcir, srcvis;// cv::VideoCapture captureir (1);cv::VideoCapture capturevis (0);int fourcc = cv::VideoWriter::fourcc('M', 'J', 'P', 'G');capturevis.set(cv::CAP_PROP_FOURCC, fourcc);capturevis.set(cv::CAP_PROP_FPS, 25);capturevis.set(cv::CAP_PROP_FRAME_WIDTH, 800);capturevis.set(cv::CAP_PROP_FRAME_HEIGHT, 600);// captureir.set(cv::VideoCaptureProperties::CAP_PROP_FOURCC, fourcc);
// captureir.set(cv::VideoCaptureProperties::CAP_PROP_FPS, 25);
// captureir.set(cv::VideoCaptureProperties::CAP_PROP_FRAME_WIDTH, 208);
// captureir.set(cv::VideoCaptureProperties::CAP_PROP_FRAME_HEIGHT, 156);//查看参数是否设置成功qDebug() << "vis width = "<< capturevis.get(cv::CAP_PROP_FRAME_WIDTH);qDebug() << "vis height = "<< capturevis.get(cv::CAP_PROP_FRAME_HEIGHT);// qDebug() << "ir width = "<< captureir.get(cv::CAP_PROP_FRAME_WIDTH);
// qDebug() << "ir height = "<< captureir.get(cv::CAP_PROP_FRAME_HEIGHT);
// printf("width = %.2f\n", capture.get(CV_CAP_PROP_FRAME_WIDTH));
// printf("height = %.2f\n", capture.get(CV_CAP_PROP_FRAME_HEIGHT));
// printf("fps = %.2f\n", capture.get(CV_CAP_PROP_FPS));
// printf("brightness = %.2f\n", capture.get(CV_CAP_PROP_BRIGHTNESS));
// printf("contrast = %.2f\n", capture.get(CV_CAP_PROP_CONTRAST));
// printf("saturation = %.2f\n", capture.get(CV_CAP_PROP_SATURATION));
// printf("hue = %.2f\n", capture.get(CV_CAP_PROP_HUE));
// printf("exposure = %.2f\n", capture.get(CV_CAP_PROP_EXPOSURE));//计算fpsstatic int fps = 0;static QTime lastTime = QTime::currentTime(); // msstatic int frameCount = 0;while(1){
// QTime st = QTime::currentTime();
// captureir >> srcir;capturevis >> srcvis;
// QTime et = QTime::currentTime();
// int hs = st.msecsTo(et);
// qDebug() << "hs: "<<hs<<" ms";// cv::transpose(srcvis, srcvis);
// cv::flip(srcvis, srcvis, 1);// cv::transpose(srcir, srcir);
// cv::flip(srcir, srcir, 1);// if(srcir.empty() == true) {// std::cout << "irframe empty, exit..." << std::endl;
// return -1;
// }if (srcvis.empty() == true) {std::cout << "visframe empty, exit..." << std::endl;return -1;}// cv::imshow("captureir",srcir);cv::imshow("capturevis",srcvis);++frameCount;QTime curTime = QTime::currentTime();if (lastTime.msecsTo(curTime) > 1000) // 取固定时间间隔为1秒{fps = frameCount;frameCount = 0;lastTime = curTime;qDebug()<<"fps: "<<fps;}char(key)=(char)cv::waitKey(1);if(key==27)break;}return 0;
#endif
}
C++/Qt 使用OpenCV打开摄像头,旋转视频,计算fps相关推荐
- buildroot+qt+qcamrea+opencv打开摄像头进行拍照录像保存功能
相关参考 如何用FFmpeg API采集摄像头视频和麦克风音频,并实现录制文件的功能_爱写代码的自由人-CSDN博客_ffmpeg 摄像头 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术. ...
- opencv打开摄像头和视频文件
# 视频本质上是由一幅幅图片组成的,30帧意思就是每秒30张图片 #打开摄影头 import cv2#下面两行代码表示命名一个叫做"video"的窗口,并且可以修改窗口大小 cv2 ...
- 用gcc生成静态库和动态库和使用opencv库编写打开摄像头压缩视频
文章目录 一.用gcc生成静态库和动态库 1.编辑生成程序hello.h.hello.c.main.c 2.将hello.c生成.o文件 3.使用静态库 4.动态库的使用 二.a与.so库文件的生成与 ...
- AI 质检学习报告——实践篇——第一步:python利用OpenCV打开摄像头并截图
写在前边 想要做一个AI质检的项目,一点一点来,首先:python利用OpenCV打开摄像头并拍照. 效果 设摄像头像素不咋地,实际的产品肯定不会是这个像素,必须安排一个专业的. 实现代码 impor ...
- Ubuntu系统下安装opencv3.x并打开图片和视频文件以及打开摄像头录制视频
目录 一.安装opencv 1.前置安装条件 2.安装环境 3.下载opencv3.4.11 4.解压安装包 5.开始安装 6.检查是否安装成功 二.显示图片和播放视频 1.显示图片 2.播放视频 三 ...
- python opencv打开摄像头
opencv打开摄像头 import cv2 cap = cv2.VideoCapture(0) while True:ret, frame = cap.read()frame = cv2.flip( ...
- AI 质检学习报告——实践篇——第三步:python利用OpenCV打开摄像头截图后实现图片识字
AI 质检学习报告--实践篇--第一步:python利用OpenCV打开摄像头并截图 AI 质检学习报告--实践篇--第二步:实现图片识字 前边两篇实践已经分别实现了利用OpenCV打开摄像头并截图和 ...
- 如何使用 Opencv 打开摄像头获取图像信息?
如何使用 Opencv 打开摄像头获取图像信息? Flow 遍历摄像头设备. 根据 VID 和 PID 打开特定的设备. 使用 Directshow 设置摄像头相关参数(曝光度.分辨率.亮度.饱和度. ...
- python opencv打开摄像头,截图保存
python opencv打开摄像头,截图保存,学习结果如下: 使用python打开摄像头 import cv2 cap = cv2.VideoCapture(0) #设置摄像头 0是默认的摄像头 如 ...
最新文章
- java中文问号_java 中文转出来是问号怎么回事?有大神知道怎么改么?
- Vivado中用于时钟操作的几个Tcl命令
- 【相关性搜索】 多字段搜索的两种方式——词中心与字段中心
- UVA10047独轮车
- [VN2020 公开赛]CSRe
- mysql榨包是什么意思_模块与包 Mysql与Oracle区别
- EXT2/EXT3/EXT4文件系统数据恢复工具开发计划
- php 瀑布流布局,CSS3实现瀑布流布局的方法
- flume1.8实现hdfsSink整点滚动文件
- 逻辑操作符的备选表示
- pytorch如何将训练提速?
- com.mysql.cj.jdbc.Driver这个驱动类
- 19【推荐系统13】FNN——TensorFlow2实现
- EasyDarwin添加自定义的服务模块EasyMyModule
- php 保存文件并换行,php是怎样向文件中写入换行_后端开发
- spss相关分析(spss统计分析实验教程,谢蕾蕾)
- java实训致谢_Java教学实习报告(最终版).doc
- 如何开启win10自带的五笔输入法,并把字库切换成五笔98版
- python操作autocad_利用python控制Autocad:pyautocad方式
- 【光纤传输特性】图文并茂,你该了解这些