Qt中实时调取摄像头(利用OpenCV)

主要思路

首先我们要先在Qt下把OpenCV跑通。然后我们再进行摄像头的调取。这里我写一个C++的基本代码,其实OpenCV单纯用C++去调取一个摄像头还是很简单的。
代码如下:

#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main(){
    Mat image;
    VideoCapture cap;
    cap.open(0);
    while (1){
        cap >> image;
        waitKey(30);
    }
    return 0;
}

那么我们的Qt要怎么处理呢?

  1. 定义Mat类型
  2. 定义VideoCapture
  3. 定义定时器
  4. 定义按钮的信号与槽
  5. 连接计时器
  6. 调用摄像头
  7. 定时器设计时间
  8. 读取摄像头内的画面帧
  9. cvtColor将BGR转换为RGB
  10. 将图像转换为QImage
  11. Pixmap放入label
  12. 定义关闭按键
  13. 停止定时器计时
  14. 释放摄像头
  15. label清空

完成摄像头的调取。

Qt实现

文件结构

具体代码可以留言自己邮箱,我会及时发送。