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

[Halcon] 计算不规则边缘的多段距离

[复制链接]
ZoZoZoZoey 发表于 2024-6-25 10:44:02 | 显示全部楼层 |阅读模式
问题:求图中薄荷绿和紫色所在的轮廓的多段距离
已有思路:绘制多个测量矩形来求
遇到的困难:现有的轮廓并不是平滑的轮廓,且是有一定弧度的,我不知道应该怎么绘制和轮廓线角度相同的矩形,矩形的角度我不知道应该怎么弄
期待各位的回复,感谢感谢!
2.png
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2024-6-25 10:47:06 | 显示全部楼层
本帖最后由 halcon2016 于 2024-6-25 10:48 编辑

直接用distance_contours_xld

点评

哇,好咧,我还是算子用的不熟练,好些我都没见过,感谢大佬!醍醐灌顶!我想再多问一个,我有点分离不出来我需要计算距离的那两段轮廓(就是我画颜色的),请问您有好点子么?感谢感谢!   发表于 2024-6-25 11:20
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| ZoZoZoZoey 发表于 2024-6-25 11:19:17 | 显示全部楼层
哇,好咧,我还是算子用的不熟练,好些我都没见过,感谢大佬!醍醐灌顶!我想再多问一个,我有点分离不出来我需要计算距离的那两段轮廓(就是我画颜色的),请问您有好点子么?感谢感谢!
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2024-6-25 11:54:00 | 显示全部楼层
ZoZoZoZoey 发表于 2024-6-25 11:19
哇,好咧,我还是算子用的不熟练,好些我都没见过,感谢大佬!醍醐灌顶!我想再多问一个,我有点分离不出来 ...

把原轮廓发出来,我试试,一种方法是segment_contours_xld 后再筛选,另一种思路是斑点分析找到所需区域再裁剪轮廓
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| ZoZoZoZoey 发表于 2024-6-25 12:56:53 | 显示全部楼层
halcon2016 发表于 2024-6-25 11:54
把原轮廓发出来,我试试,一种方法是segment_contours_xld 后再筛选,另一种思路是斑点分析找到所需区域 ...

好咧,这个压缩包里面有我的两个轮廓,请您帮我试试,感谢!

Contour.zip

8.93 KB, 下载次数: 12

轮廓

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2024-6-25 13:47:56 | 显示全部楼层
2024-06-25_134710.png
  1. set_system ('clip_region', 'false')
  2. read_object (Capcontourregion, 'C:/Users/Administrator/Desktop/CapContourRegion.hobj')
  3. read_object (Mouthcontourregion, 'C:/Users/Administrator/Desktop/MouthContourRegion.hobj')
  4. union2 (Capcontourregion, Mouthcontourregion, RegionUnion)
  5. fill_up (RegionUnion, RegionFillUp)
  6. dilation_circle (RegionFillUp, RegionDilation, 13.5)
  7. erosion_circle (RegionDilation, RegionErosion, 13.5)
  8. difference (RegionErosion, RegionFillUp, RegionDifference)
  9. opening_rectangle1 (RegionDifference, RegionOpening, 25, 3)
  10. smallest_rectangle2 (RegionOpening, Row, Column, Phi, Length1, Length2)
  11. gen_rectangle2 (Rectangle, Row, Column, Phi, Length1-9, Length2+9)
  12. intersection (RegionUnion, Rectangle, RegionIntersection)
  13. skeleton (RegionIntersection, Skeleton)
  14. gen_contours_skeleton_xld (Skeleton, Contours, 1, 'filter')
  15. select_contours_xld (Contours, SelectedContours, 'contour_length', 400, 20000, -0.5, 0.5)
复制代码


点评

好咧,我也是画了个矩形然后选择的轮廓,只是我把xld轮廓转成region之后就不知道再怎么转成轮廓了,原来是要用skeleton,学到了学到了。太感谢您嘞!祝您每天都心情愉快!   发表于 2024-6-25 14:03
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
回复 支持 1 反对 0

使用道具 举报

蓝海2008 发表于 2024-10-18 09:10:45 | 显示全部楼层
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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