Qt opencv_camera

VideoCapture 类主要用于从视频文件或摄像头捕获视频。这个指针 capture 可以用来控制视频的打开、读取帧、查询属性以及关闭视频流等操作。

static cv::Mat frame; 声明了一个静态的 cv::Mat 对象 frame,用于存储图像帧。cv::Mat 是 OpenCV 中用于存储图像的矩阵类

从摄像头获取的图像是 MAT图片矩阵格式(摄像头将视频通过capture存储在frame中) , 显示的时候需要将MAT格式转换为QImage格式

当开始按键按下之后 1.需要将当前的摄像头设备打开,将按键上的文字进行更改

2.将定时器打开,返回摄像头的状态

camera类:

cpp 复制代码
connect(timer,&QTimer::timeout,[=](){
       this->timerTimeOut();
    });
cpp 复制代码
void camera::timerTimeOut()
{
    //如果没有摄像头打开,停止计时器
    if(!capture->isOpened())
    {
        timer->stop();
        return;
    }

    //cv::Mat 是 OpenCV 库中用于存储图像的矩阵类。
    //frame 是一个静态的 cv::Mat 对象,
    //用于存储从视频流或图像文件中读取的帧。
    static cv::Mat frame;
    //使用 OpenCV 的视频捕获功能从视频源(如摄像头或视频文件)读取一帧图像到 frame 变量中
    //>> 操作符在这里被重载用于从视频捕获对象中提取帧
    *capture >> frame;
    if(frame.cols)//判断图像矩阵frame的列数是否为0
    {
        //不为0时,发送图片信号
        emit readyImage(matToQImage(frame));
    }

}
相关推荐
oioihoii7 小时前
当无符号与有符号整数相遇:C++中的隐式类型转换陷阱
java·开发语言·c++
猪哥-嵌入式8 小时前
Go语言实战教学:从一个混合定时任务调度器(Crontab)深入理解Go的并发、接口与工程哲学
开发语言·后端·golang
互联网中的一颗神经元8 小时前
小白python入门 - 6. Python 分支结构——逻辑决策的核心机制
开发语言·数据库·python
妄小闲8 小时前
企业网站模版 免费PHP企业网站源码模板
开发语言
AhriProGramming8 小时前
Python学习快速上手文章推荐(持续更新)
开发语言·python·学习·1024程序员节
IDOlaoluo8 小时前
nginx-1.9.1.tar.gz 安装教程(详细步骤,从解压到启动)
开发语言·python
油炸自行车9 小时前
【Qt】VS Code配置Qt UI插件,vscode打开Qt Designer ,vscode打开Qt*.ui文件
qt·ui·cursor·qt designer·vscode插件·trae·qt ui
赵杰伦cpp9 小时前
C++的继承机制精讲
java·开发语言·c++·后端
百花~10 小时前
JVM(Java虚拟机)~
java·开发语言·jvm
沐苏瑶10 小时前
PHP反序列化漏洞
java·开发语言