设置首页收藏本站
开启左侧

[算子] 函数:选择最短轮廓和最长轮廓

[复制链接]
zazaniao 发表于 2015-6-6 23:50:45 | 显示全部楼层 |阅读模式
功能:
从一堆轮廓中,选择最短轮廓和最长轮廓。

函数原型:
select_min_max_length_contour(Contours : MinLengthContour, MaxLengthContour : : )

函数体:
  1. *打开错误信息
  2. dev_set_check('give_error')
  3. *最长轮廓变量初始化
  4. gen_empty_obj(MaxLengthContour)
  5. *开启捕获异常
  6. try
  7.     *统计轮廓集合的数量
  8.     count_obj(Contours, Number)
  9. *捕获异常
  10. catch(Exception)
  11.     *异常处理
  12.     return()
  13. endtry
  14. *如果轮廓数量无效,返回
  15. if(Number<1)
  16.     return()
  17. endif
  18. *最长长度、最长长度索引初始化
  19. Max_Length:=0
  20. Max_Index:=0
  21. *遍历每个轮廓的长度
  22. for i:=1 to Number by 1
  23.     *选择轮廓
  24.     select_obj(Contours, ObjectSelected, i)
  25.     *求轮廓长度
  26.     length_xld(ObjectSelected, Length)
  27.     *保存最长轮廓的长度和索引
  28.     if(Max_Length<Length)
  29.         Max_Length:=Length
  30.         Max_Index:=i
  31.     endif
  32. endfor
  33. *选择最长轮廓
  34. select_obj(Contours, MaxLengthContour, Max_Index)
  35. *返回
  36. return ()
复制代码


函数文件下载链接:
http://pan.baidu.com/s/1ntr1n9f

使用方法:
解压缩后,把文件《select_max_length_contour.hdvp》放置在halcon安装硬盘的路径
Program Files\MVTec\HALCON-10.0\procedures
关闭并重新启动HDevelop。




select_min_max_length_contour.hdvp

1.86 KB, 下载次数: 40

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

本版积分规则

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