设置首页收藏本站
授权版本:2024_10
开启左侧

[C++] halcon反复导入图片,内存没有释放

[复制链接]
hsz 发表于 2023-9-22 17:26:49 | 显示全部楼层 |阅读模式
今天测试代码的时候,发现有一段C++代码运行之后内存没有释放,仔细排查之后是halcon导入了图片,在再次导入的时候,上一次导入的图片没有释放,而且我尝试了也没有办法手动释放,图片是从ps创建的tif格式的图片,如果把这个图片格式更改为bmp,这段代码的内存释放就是正常的,附件是图片,请教一下:这个tif格式的图片是只能转成bmp然后再读取吗,还是有什么其它的办法释放内存,或者说是这张图片有问题?

print.rar

231.58 KB, 下载次数: 2

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2023-9-22 17:33:43 | 显示全部楼层
调用image对应的HObject对象的Clear函数试试
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| hsz 发表于 2023-9-23 09:00:21 | 显示全部楼层
halcon2016 发表于 2023-9-22 17:33
调用image对应的HObject对象的Clear函数试试

试了的,没有效果,不知道有其他的办法吗
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
zjjdsg 发表于 2023-9-23 09:29:15 | 显示全部楼层
hsz 发表于 2023-9-23 09:00
试了的,没有效果,不知道有其他的办法吗

不释放运行久了是会崩溃吗
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2023-9-23 15:00:03 | 显示全部楼层
可以试试这种思路,如果有大量图片要读取的话,用非halcon接口先获取图片的buffer指针,再用GenImage1Extern生成HObject对象
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2023-9-23 15:06:50 | 显示全部楼层
zjjdsg 发表于 2023-9-23 09:29
不释放运行久了是会崩溃吗

我也试了,内存会一直在增加,时间久了内存会耗尽,会死机
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
zjjdsg 发表于 2023-9-23 21:06:06 | 显示全部楼层
halcon2016 发表于 2023-9-23 15:06
我也试了,内存会一直在增加,时间久了内存会耗尽,会死机

那把哪个句柄打包在一个类里,然后主程序调用他,运行一段时间就给他释放了重新调用,这个方法可行吗
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
小红居 发表于 2023-9-24 16:07:25 | 显示全部楼层
关闭句柄尼。是不是重复一个句柄导致clear没有用
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
stwangliang 发表于 2023-10-7 19:26:19 | 显示全部楼层
导出的代码需要手动优化
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
yh007 发表于 2023-10-8 11:30:29 | 显示全部楼层
使用dispose,himage.Dispose();

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表