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要怎么处理呢?
定义Mat类型
定义VideoCapture
定义定时器
定义按钮的信号与槽
连接计时器
调用摄像头
定时器设计时间
读取摄像头内的画面帧
cvtColor将BGR转换为RGB
将图像转换为QImage
Pixmap放入label
定义关闭按键
停止定时器计时
释放摄像头
label清空
完成摄像头的调取。
Qt实现
文件结构
具体代码可以留言自己邮箱,我会及时发送。