开启左侧

寻找矩形的两个顶点

[复制链接]
sclbx 发表于 2020-8-12 09:50:16 | 显示全部楼层 |阅读模式
是这样的,要找到如图所示的每个物体中的两个顶点(已用红点标出,可能一幅图中会有好几个物体),小白没什么思路,求大神。
效果图:

查找目标描述

查找目标描述

原图:

原图

原图

madeinschool 发表于 2020-8-13 21:47:40 | 显示全部楼层
模板匹配+卡尺找边可以。试了预处理效果不理想就没用。
期待有大佬预处理一下
1.PNG
wwwttttyyyy 发表于 2020-8-17 19:08:58 | 显示全部楼层
打光不能改善下么
Jo_Kang 发表于 2020-8-18 15:50:56 | 显示全部楼层
先改善打光效果吧,看情况只能是拟合直线求交点
安静的晖 发表于 2020-10-7 11:48:28 | 显示全部楼层
可以通过提取区域来获取目标,然后获取区域边缘拟合矩形,最后通过矩形参数得到需要的那两个角
代码如下:
  1. dev_set_draw ('margin')
  2. read_image (Image, 'C:/Users/deedee/Desktop/studyhalcon/001.png')
  3. rgb1_to_gray (Image, GrayImage)
  4. threshold (GrayImage, Regions, 110, 255)
  5. connection (Regions, ConnectedRegions)
  6. select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 5000, 99999)
  7. fill_up (SelectedRegions, RegionFillUp)
  8. opening_rectangle1 (RegionFillUp, RegionOpening, 5, 5)
  9. closing_rectangle1 (RegionOpening, RegionClosing, 30, 30)
  10. dev_clear_window ()
  11. dev_display (GrayImage)
  12. dev_display (RegionClosing)

  13. select_obj (RegionClosing, ObjectSelected1, 1)
  14. gen_contour_region_xld (ObjectSelected1, Contours1, 'border')
  15. fit_rectangle2_contour_xld (Contours1, 'regression', -1, 0, 0, 3, 2, Row, Column, Phi, Length1, Length2, PointOrder)
  16. gen_rectangle2 (Rectangle1, Row, Column, Phi, Length1, Length2)

  17. select_obj (RegionClosing, ObjectSelected2, 2)
  18. gen_contour_region_xld (ObjectSelected2, Contours2, 'border')
  19. fit_rectangle2_contour_xld (Contours2, 'regression', -1, 0, 0, 3, 2, Row, Column, Phi, Length1, Length2, PointOrder)
  20. gen_rectangle2 (Rectangle2, Row, Column, Phi, Length1, Length2)


  21. dev_clear_window ()
  22. dev_display (GrayImage)
  23. dev_display (Rectangle1)
  24. dev_display (Rectangle2)
复制代码


最后效果如下: 123.png
3088286561 发表于 2021-3-9 11:45:14 | 显示全部楼层
本帖最后由 3088286561 于 2021-3-9 11:49 编辑

你想要的效果是这样吗?

1.png
2.png

找出矩形并找到两个角点.zip

345.98 KB, 下载次数: 1

售价: 5 视觉币  [记录]  [购买]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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