上个文章就说了,我正在实现一个智能监控系统。
由此实现了Qt的FTP文件传输:http://blog.csdn.net/u013812682/article/details/52199502。
还有Qt的tcp视频传输:http://blog.csdn.net/u013812682/article/details/52185540。
在此我将实现基于Qt和opencv的基于多摄像头的视频显示。
下一步将是整个系统的智能化操作,可能包括人脸检测,人脸识别,单摄像头人物追踪(也可能是多摄像头)以及还没想到的其他功能。
最后将视频或图片上传云服务器
PS:只有一个usb摄像头加上笔记本摄像头测试的,没有悬挂的摄像头有点心累呀!!!
整个显示框架包括了两个类,一个是自定义的按钮类,一个是主界面显示的类;
开始也纠结了好久,多线程这样的,发现没有其实也是可以实现的。
有图有真相:
开始只有一个按钮:
点击一次就很生成一个新按钮,并且加载一次摄像头,
有多少摄像头就可以点击几次,我设置了最大值是九个,方便查看(毕竟屏幕大小有限)
上代码了:
自定义的按钮:
mybutton.h
#ifndef MYBUTTON_H
#define MYBUTTON_H
#include<QPushButton>
#include<QPen>
#include<QPainter>
#include<QMouseEvent>
#include<QLabel>
class MyButton : public QPushButton
{
Q_OBJECT
public:
explicit MyButton(QWidget* parent=0);
~MyButton();
void paintEvent(QPaintEvent*);
private:
bool israised;
};
#endif // MYBUTTON_H