halcon的HObject被释放

news2024/11/25 11:58:56

经过简述

某项目由我统一管理HObject(区域和图像)的释放。发现某区域被系统外部所释放。可能有两种情况:a,区域交给我后,释放了。b,获取我的区域后释放了。
最终证明是第二种情况,证明如下:
a,Add函数复制区域,Get函数不复制区域,问题依然存在。
b,Add函数不复制,Get函数复制问题消失。
和项目程序员沟通的结果是:大家都没修改。难道是旧代码的问题?
我写了一个简单的区域派生类:

 class CReg : HObject
 {
     public CReg(HObject o):base(o) 
     {
        
     }
    public override void Dispose()
     {
         base.Dispose();
     }
 }

图像可以用类似的方法。
Get函数,修改之前
return regs[strKey];
修改后:
CReg reg1 = new CReg(regs[strKey]);
return reg1;
在Dispose函数中加断点:
通过调用堆栈定义到问题所在。果然是旧代码。

可改进去

一,Dispose函数中可以判断 是否被释放两次。
二,CReg可以记录strKey以增加可测试性。

扩展阅读

我想对大家说的话
工作中遇到的问题,可以按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。
学习算法:按章节学习《喜缺全书算法册》,大量的题目和测试用例,打包下载。重视操作
有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注
闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛
失败+反思=成功 成功+反思=成功

视频课程

先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771
如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

测试环境

操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境: VS2022 C++17
如无特殊说明,本算法用**C++**实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2058127.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

百度地图SDK Android版开发 7 覆盖物示例1

百度地图SDK Android版开发 7 覆盖物示例1 前言界面布局MapMarker类常量成员变量初始值Marker点击事件Marker拖拽事件创建覆盖物移除覆盖物设置属性 MapMarkerActivity类控件响应事件 运行效果图 前言 文本介绍Marker的常用属性、交互和碰撞示例。 示例功能如下: …

设计模式六大原则(一)–单一职责原则(C#)

文章目录 1. 什么是单一职责原则?2. 单一职责原则的定义3. 单一职责原则的重要性4. 单一职责原则的示例(C#)5.如何判断是否违反单一职责原则6. 单一职责原则的应用场景7. 总结 在软件开发领域,设计模式是解决常见问题的经典解决方…

【实现100个unity特效之24】使用ShaderGraph将图片转变为像素艺术

ShaderGraph连线图 效果 参考 https://www.youtube.com/watch?vBmhj7RgVDzc 完结 赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章…

@DateTimeFormat和@JsonFormat

DateTimeFormat 用于接收前端传入的参数,变成自己想要的格式 JsonFormat用于格式化后端返回给前端的参数 DateTimeFormat(pattern "yyyy-MM-dd HH:mm:ss") JsonFormat(pattern "yyyy-MM-dd HH:mm:ss", timezone "GMT8") private …

深入理解Faiss:高效向量检索的利器

近年来,随着人工智能和机器学习技术的飞速发展,向量检索技术变得越来越重要。无论是在推荐系统、图像搜索还是自然语言处理等领域,向量检索都扮演着至关重要的角色。而在众多向量检索库中,Faiss(Facebook AI Similarit…

-Wl,-rpath= 编译器链接器指定动态库路径 与 LD_LIBRARY_PATH

实例先行, 1,情景 三互相依赖的小项目: (1)libbottom.so,无特别依赖,除系统文件 (2)libtop.so,依赖libbottom.so (3)app 可执行程…

【Deep Live Cam】只需一张图片,就可实现视频的人脸替换。

Deep Live Cam 运用尖端AI技术,将实时换脸和视频深伪推向新的境界。只需一张图片,即可实现高质量的人脸替换。 用户在X上对Deep Live Cam的评价。 如何安装它? 1、环境 python (推荐 3.10 ) pip git ffmpeg https://www.youtube.com…

EmguCV学习笔记 C# 5.3 透视变换

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

WPF如何获取DataGrid的选中行

在DataGrid中加入这一行 <MouseBindingCommand"{Binding OpenWindowCommand}"CommandParameter"{Binding ElementNameNewPlanDataGrid, PathSelectedItem}"Gesture"LeftDoubleClick" /> </DataGrid.InputBindings> 然后ViewModel中…

OpenAI 重回巅峰:ChatGPT-4O 最新模型超越谷歌 Gemini 1.5,多项测试夺冠!

谷歌上周发布的Gemini 1.5 Pro模型&#xff0c;在LMSYS办的聊天机器人竞技场Chatbot Arena中获得第一名。但是&#xff0c;OpenAI迅速反应&#xff0c;推出了最新的chatgpt-4o-latest模型&#xff0c;重新夺回了冠军头衔。 chatgpt-4o-latest模型简介 OpenAI最近推出了名为gpt-…

有哪些适合中小企业的六西格玛培训课程?

在探讨适合中小企业的六西格玛培训课程时&#xff0c;我们首先需要明确六西格玛作为一种管理方法&#xff0c;其核心在于通过减少变异和浪费&#xff0c;提升企业的流程效率和质量水平。对于中小企业而言&#xff0c;选择恰当的六西格玛培训课程&#xff0c;不仅能够提升企业的…

ADB使用报错的问题FileNotfoundError:[WinError 3]系统找不到指定的路径

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

入门STM32--按键输入

上一篇博客我们介绍了如何使用GPIO配置跑马灯&#xff0c;根据GPIO的基本结构图&#xff0c;我们能够发现&#xff0c;他肯定不单单有输出的功能&#xff0c;肯定可以检测IO上的电平变化&#xff0c;实际上就是输入的功能。 1.按键 在大多数情况下&#xff0c;按键是一种简单的…

我们如何将数据输入到神经网络中?

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 下面我拿识别美女的例子来给大家介绍如何将美女的图片数据输入到神经网络中。 此例中&#xff0c;待输入的数据是一张图像。为了存储图像…

仿twitter社区源码推特PHP源码

源码介绍 高仿twitter源码&#xff0c;推特是啥我就不多说了&#xff0c;这套源码邮箱有点问题&#xff0c;发不了邮件&#xff0c;所以后台设置账户激活要关闭&#xff0c;有能力的自己修改解决&#xff0c;功到是还挺多的挺完美的手机h5端可以封装成软件也不错的。 安装环境…

anaconda学习笔记:复制anaconda的base环境

在anaconda的图形界面中&#xff0c;新建环境&#xff0c;可以看到&#xff0c;默认的包只有几个&#xff08;这里是10个&#xff09;&#xff0c;像常用的numpy、pandas等等都没有&#xff0c;在使用过程中还需要再次安装。 而base环境有几百个&#xff08;325个&#xff09;这…

Java之HashMap的底层实现

Java之HashMap的底层实现 摘要HashMap的底层原理哈希值转换为数组下标节点初始化put(Object key, Object value)重写toString()get(Object key)增加泛化remove(K key) 摘要 本博客主要讲述了Java的HashMap的底层实现 HashMap的底层原理 底层原理&#xff1a;数组链表 过程…

【MySQL】基础入门(第一篇)

目录 一、MySQL的主要特点 二、MySQL的应用场景 三、MySQL的未来发展 四、MySQL的安装 MySQL是一个关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;由瑞典的MySQL AB公司开发&#xff0c;后来被Sun Microsystems收购&#xff0c;最终在2010年被Oracle公司收…

IDEA安装和使用(配图)

功能强大&#xff1a; 1、强大的整合能力&#xff0c;比如Git,Maven,Spring等 2、开箱即用&#xff08;集成版本控制系统&#xff0c;多语言支持的框架随时可用&#xff09; 3、符合人体工程学 1、高度智能 2、提示功能的快速&#xff0c;便捷&#xff0c;范围广 3、好用…

K8S的统一访问入口-Service

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…