开启左侧

Halcon12 怎么判断HObject 为空?

[复制链接]
zhhuaq 发表于 2017-10-16 09:00:35 | 显示全部楼层 |阅读模式
Halcon12 里面:
  怎么判断HObject 为空?
  怎么判断HTuple 为空?

 楼主| zhhuaq 发表于 2017-10-16 09:02:50 | 显示全部楼层
HTuple:
  //The number of elements of this tuple
  Hlong Length() const;

是用这个函数判断长度吗?
1054701275 发表于 2017-10-16 13:42:45 | 显示全部楼层
tuple_length( : : Tuple : Length)-------判断HTuple
count_obj(Objects : : : Number)------判断HObject
Criss 发表于 2017-10-16 20:35:06 | 显示全部楼层
1054701275 发表于 2017-10-16 13:42
tuple_length( : : Tuple : Length)-------判断HTuple
count_obj(Objects : : : Number)------判断HObject ...

Halcon12中判断object为空,count_obj是不准确的。建议使用area_center后通过面积大于0判定。
flcok 发表于 2017-10-18 09:43:31 | 显示全部楼层
IsInitialized专门用于判断图像是否为空。
 楼主| zhhuaq 发表于 2017-10-19 09:02:36 | 显示全部楼层
flcok 发表于 2017-10-18 09:43
IsInitialized专门用于判断图像是否为空。

IsInitialized() 判断是否已初始化;如果已初始化,且内容为空,就会报错!
SUTKZC 发表于 2017-10-22 10:53:16 | 显示全部楼层
1.首先利用gen_empty_obj生成个空的object .
2.然后利用test_equal_obj 判断你的目标区域是否和空区域相等。
3.若相等则区域为空,否则区域不为空
叫我老猫 发表于 2020-9-3 13:48:59 | 显示全部楼层
C#中,obj对象申明未初始化可以用null判断,new了,此时它的指针为0,可以用obj.Key获取Intptr指针值,判断指针值是否为0,为0表示只初始化或者内容被释放了,大于0表示有值,该值可能是empty或者其他图形。
可汗 发表于 2020-9-21 21:46:28 | 显示全部楼层
zhhuaq 发表于 2017-10-19 09:02
IsInitialized() 判断是否已初始化;如果已初始化,且内容为空,就会报错!

建议在使用IsInitialized()的时候,使用try...catch,如果已经初始化且为空,可以捕捉到此异常,如果未初始化,那就执行初始化.这样子万无一失,确保了程序的强壮
Tomxx 发表于 2021-12-30 14:47:01 | 显示全部楼层
zhhuaq 发表于 2017-10-19 09:02
IsInitialized() 判断是否已初始化;如果已初始化,且内容为空,就会报错!

如果初始化,内容为空,直接返回false了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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