重明项目连接相机取流内存泄露问题

在V2.0.0版本中,我支持了对海康相机数据格式转换的功能,但经大家反馈,当连接相机并开启取流之后,会内存暴涨直到内存占满的问题(这其实就是内存泄露)。

经定位,是在取流时有内存malloc,但却没有free,这就是典型的内存泄露的情况。

具体泄露代码位于HikCamera.cpp文件的HikConvert2Mat函数:

//帧数据转换为Mat格式图片并保存
bool HikConvert2Mat(void* handle, MV_FRAME_OUT_INFO_EX* pstImageInfo, unsigned char* pData, cv::Mat& dstImage);

该函数内有一行malloc申请了内存,但却没有释放:

pConvertData = (unsigned char*)malloc(pstImageInfo->nWidth * pstImageInfo->nHeight * nChannelNum);

解决该问题,只需在函数末尾进行free即可。

20250825224325690-重明项目内存泄露代码截图

 

请登录后发表评论

    没有回复内容