【QT】海康热成像相机全屏测温实时解析为温度矩阵

1.问题和需求

需求是使用海康热成像相机实时获取温度矩阵。相机说明文档提供了全屏测温实时取流的方法和代码,其将字节流写入到本地文件,然后通过解析文件的方式获得温度矩阵。但在实际应用中必须要在内存中进行实时解析。

2. 方法和思路

将字节流缓存到内存中,当缓存中的数据量大于一帧数据的数据量时,将该帧数据拷贝出来解析为Mat矩阵

  1. 登录相机后,开启RealPlay,byVideoCodingType需要设置为1,并注册取流回调函数,所有温度原始数据会通过回调函数进行下发,同时需要通过协议透传配置相机全屏测温参数。
  2. 缓存回调函数给出的数据,并实时解析为OpenCV Mat:
    1. 回调函数每次给出的数据长度不一定都一样,因此,需要把数据先缓存起来,当满足一帧的数据量时,再进行解析
    2. 使用QBuffer进行缓存
    3. 数据解析:可以直接修改官方文档中给出的解析本地文件的demo

3. 参考代码

在回调函数中进行缓存和解析

void CALLBACK g_RealDataCallBack_V30(LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer,DWORD dwBufSize,void* dwUser)
{
   
    Camera* camera = (Camera*)dwUser;

    switch (dwDataType)
    {
   
	    case NET_DVR_STREAMDATA:
	    {
   
	        //接收到的数据写入缓存
	        //BUFFER为QBuffer类型的对象
	        camera->BUFFER->write((char
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值