此文用于记录Qt远程采集摄像头画面的办法,以备忘记,Qt远程采集画面可以实现远程监控,视频通话和一些远程识别功能;本次以TCP作为通信手段,实现传输功能,Qt版本使用15.5.2。,实现原理为照片不间断地传输和显示,让人眼分辨不出来,即可实现在线视频监控。
一,视频发送端的实现
1.1实现通信界面,界面由如下几部分组成
最终的界面如下:
1.2TCP服务器的实现,Qt下TCP服务器的实现很简单,直接调用QTcpServer的方法,进行监听
关联信号的和槽函数,实现监听处理
槽函数的实现,槽函数中使用一个定时器,定时50ms,每50ms出发一次cap_pic和transfer_pic函数,实现拍照和传输照片
transfer_pic槽函数的实现,此处使用img.save实现照相机拍照到的图片的压缩,方便TCP一次性的传输,当图片大于70KB左右时,一次传输不过去,所以这里实现和图片的压缩再传输。
1.3摄像头及拍照的实现,摄像机相关的类及操作和拍照的槽函数如下,正常操作,无注意点,直接实现即可。