首页| 论坛| 消息

标题:Qt开源作品15-视频监控画面
作者:liudianwu
日期:2020-05-20 13:24
内容:

## 一、前言
视频监控系统在整个安防领域,已经做到了烂大街的程序,全国起码几百家公司做过类似的系统,当然这一方面的需求量也是非常旺盛的,各种定制化的需求越来越多,尤其是这几年借着人脸识别的东风,发展更加迅猛,人脸识别相关的技术和应用这几年处于风口浪尖,衍生了特别多的应用产品,各种人脸识别的产品遍地开花,刷脸门禁,车站机场人脸识别,刷脸取票等,但是其实大部分内行人士可能都比较绝望,外行感觉像看科幻片一样,老板们各种打鸡血,今天几个亿明天几个亿。
纵观Qt的应用场景领域,在国内,基本上在安防、航天船舶、教育、工业控制领域,占有比较大的比例,其实个人非常喜爱Qt的,从没见过如此完美的API封装,包括命名,最牛逼的就是跨平台特性,可以说完爆.NET的跨平台,甚至连那种几十兆的嵌入式linux版本都能运行,这就使得成本大大降低,提高了产品的丰富性。自从用了Qt以后,就再也不想用VC/VB/C#等。
视频监控画面在任何视频监控系统中是少不了的一个功能,基本上是需要1画面、4画面、6画面、8画面、9画面、16画面等,Qt提供的表格布局非常胜任这个工作,网上几乎没有看到qt做的最基础的视频监控画面分割的demo,今天特意花几分钟提取出来,开源放出来。欢迎大家多多点赞!现在还增加了25画面、36画面,里边的函数封装的很好,稍微加几行可以直接增加49画面等其他的。
## 二、代码思路
```c++
void VideoPanel::change_video(int index, int flag)
{
int count = 0;
int row = 0;
int column = 0;
for (int i = 0; i < videoCount; i++) {
if (i >= index) {
gridLayout->addWidget(widgets.at(i), row, column);
widgets.at(i)->setVisible(true);
count++;
column++;
if (column == flag) {
&nbsp ..


#1 [shatanzhihu 05-20 18:40]

#2 [dxa572862121 05-20 19:47]

#3 [mengkun 05-21 09:12]
刘老师您好,我想请教一下 QT 在 Windows 下录制 USB 摄像头的视频需要怎么实现? 如果可以的话,提供一下思路就行,谢谢!
尝试了调用 DirectShow,但录制出来的视频文件体积太大了(约1分钟1GB)……不知道是不是哪里没配置好。
#4 [jsxhnooo 06-17 15:26]
刘老师牛逼
#5 [fueme123456 01-15 20:05]
太厉害了

回复 发表
主题 版块