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相关推荐

  1. buildroot+qt+qcamrea+opencv打开摄像头进行拍照录像保存功能

    相关参考 如何用FFmpeg API采集摄像头视频和麦克风音频,并实现录制文件的功能_爱写代码的自由人-CSDN博客_ffmpeg 摄像头 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术. ...

  2. opencv打开摄像头和视频文件

    # 视频本质上是由一幅幅图片组成的,30帧意思就是每秒30张图片 #打开摄影头 import cv2#下面两行代码表示命名一个叫做"video"的窗口,并且可以修改窗口大小 cv2 ...

  3. 用gcc生成静态库和动态库和使用opencv库编写打开摄像头压缩视频

    文章目录 一.用gcc生成静态库和动态库 1.编辑生成程序hello.h.hello.c.main.c 2.将hello.c生成.o文件 3.使用静态库 4.动态库的使用 二.a与.so库文件的生成与 ...

  4. AI 质检学习报告——实践篇——第一步:python利用OpenCV打开摄像头并截图

    写在前边 想要做一个AI质检的项目,一点一点来,首先:python利用OpenCV打开摄像头并拍照. 效果 设摄像头像素不咋地,实际的产品肯定不会是这个像素,必须安排一个专业的. 实现代码 impor ...

  5. Ubuntu系统下安装opencv3.x并打开图片和视频文件以及打开摄像头录制视频

    目录 一.安装opencv 1.前置安装条件 2.安装环境 3.下载opencv3.4.11 4.解压安装包 5.开始安装 6.检查是否安装成功 二.显示图片和播放视频 1.显示图片 2.播放视频 三 ...

  6. python opencv打开摄像头

    opencv打开摄像头 import cv2 cap = cv2.VideoCapture(0) while True:ret, frame = cap.read()frame = cv2.flip( ...

  7. AI 质检学习报告——实践篇——第三步:python利用OpenCV打开摄像头截图后实现图片识字

    AI 质检学习报告--实践篇--第一步:python利用OpenCV打开摄像头并截图 AI 质检学习报告--实践篇--第二步:实现图片识字 前边两篇实践已经分别实现了利用OpenCV打开摄像头并截图和 ...

  8. 如何使用 Opencv 打开摄像头获取图像信息?

    如何使用 Opencv 打开摄像头获取图像信息? Flow 遍历摄像头设备. 根据 VID 和 PID 打开特定的设备. 使用 Directshow 设置摄像头相关参数(曝光度.分辨率.亮度.饱和度. ...

  9. python opencv打开摄像头,截图保存

    python opencv打开摄像头,截图保存,学习结果如下: 使用python打开摄像头 import cv2 cap = cv2.VideoCapture(0) #设置摄像头 0是默认的摄像头 如 ...

最新文章

  1. java中文问号_java 中文转出来是问号怎么回事?有大神知道怎么改么?
  2. Vivado中用于时钟操作的几个Tcl命令
  3. 【相关性搜索】 多字段搜索的两种方式——词中心与字段中心
  4. UVA10047独轮车
  5. [VN2020 公开赛]CSRe
  6. mysql榨包是什么意思_模块与包 Mysql与Oracle区别
  7. EXT2/EXT3/EXT4文件系统数据恢复工具开发计划
  8. php 瀑布流布局,CSS3实现瀑布流布局的方法
  9. flume1.8实现hdfsSink整点滚动文件
  10. 逻辑操作符的备选表示
  11. pytorch如何将训练提速?
  12. com.mysql.cj.jdbc.Driver这个驱动类
  13. 19【推荐系统13】FNN——TensorFlow2实现
  14. EasyDarwin添加自定义的服务模块EasyMyModule
  15. php 保存文件并换行,php是怎样向文件中写入换行_后端开发
  16. spss相关分析(spss统计分析实验教程,谢蕾蕾)
  17. java实训致谢_Java教学实习报告(最终版).doc
  18. 如何开启win10自带的五笔输入法,并把字库切换成五笔98版
  19. python操作autocad_利用python控制Autocad:pyautocad方式
  20. 【光纤传输特性】图文并茂,你该了解这些

热门文章

  1. CPA八--资本公积(转载)
  2. 微信如何设置快速回复?
  3. 51单片机:单个数码管动态显示
  4. c#CAD二次开发全套视频目录
  5. Google Maps和中国地图
  6. 智能优化算法:天鹰优化算法-附代码
  7. 怎么把音频怎么转换mp3格式
  8. [2011 年终项目总结] 第二章、环境搭建
  9. 163基于springboot大学生兼职管理系统
  10. selec组件的使用(可中问/英文搜索)