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

HImage和HObject的区别是什么

[复制链接]
jjj666 发表于 2023-7-1 15:14:30 | 显示全部楼层 |阅读模式
HImage和HObject的区别呢?为什么C#中用的halcon算子处理图像的时候HObject都要转成HImage呢???
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Criss 发表于 2023-7-1 15:47:07 | 显示全部楼层
可以不用转,Halcon提供了HObject作为图形类型变量的基类,可以使用算子方式静态方法操作,那么都是HObject基类对象操作,无需关心具体类型。
而HImage、HRegion、HXld等都是HObject的子类实现,采用C#本身面向对象方式编程(非算子方式)就需要具体的类型,才可以调用对应的函数。

比如C#采用静态方法读取图像:
  1. HObject ho_Image;
  2. HOperatorSet.ReadImage(out ho_Image, "clip");
  3. HTuple hv_Width, hv_Height;
  4. HOperatorSet.GetImageSize(ho_Image,out hv_Width, out hv_Height);
复制代码
C#面向对象方法读取:
  1. HImage ho_Image = new HImage();
  2. ho_Image.ReadImage("clip");
  3. HTuple hv_Width, hv_Height;
  4. ho_Image.GetImageSize(out hv_Width, out hv_Height);
复制代码
没有本质上的区别,需要注意的子类与基类转换的时候要判断下是不是基类的实例。

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
zrp785962235 发表于 2023-7-3 13:01:23 | 显示全部楼层
向大师学习了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
笔尖下的梦 发表于 2023-7-4 08:49:58 | 显示全部楼层
原来如此,学习了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| jjj666 发表于 2023-7-7 10:11:47 | 显示全部楼层
Criss 发表于 2023-7-1 15:47
可以不用转,Halcon提供了HObject作为图形类型变量的基类,可以使用算子方式静态方法操作,那么都是HObject ...

感谢,那么用心回复,    还有个疑问就是为什么实际做项目的时候Hobject类型作为图像处理的时候会出现算法没有结果呢? Hobjet转成Himg后算法就有返回结果啦
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
zrp785962235 发表于 2023-7-8 14:30:29 | 显示全部楼层
向大师看齐
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Criss 发表于 2023-7-8 18:13:10 | 显示全部楼层
jjj666 发表于 2023-7-7 10:11
感谢,那么用心回复,    还有个疑问就是为什么实际做项目的时候Hobject类型作为图像处理的时候会出现算法 ...

具体问题具体分析,应该不存在这种问题,或者转换类型不一致导致,检查key值是否不为0x0即可。
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
多看就会 发表于 2023-7-21 11:44:47 | 显示全部楼层
顶顶顶。。。。。。。。
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
MAZEYI 发表于 2023-8-1 15:42:22 | 显示全部楼层
Criss 发表于 2023-7-1 15:47
可以不用转,Halcon提供了HObject作为图形类型变量的基类,可以使用算子方式静态方法操作,那么都是HObject ...

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

本版积分规则

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