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

关于使用add_metrology_object_circle_measure算子找圆问题

[复制链接]
LBD 发表于 2019-4-24 09:12:18 | 显示全部楼层 |阅读模式
使用该算子的圆弧测量模型找圆时,有以下3个特殊参数可以设置,起始角度'start_phi', 结束角度'end_phi', 圆弧方向'point_order',问题来了,当'point_order'值为'positive'时,即使'start_phi'和'end_phi'形成的角度范围再小,也可以找到圆,当然,范围太小,圆不太准确,但至少有结果,
而当'point_order'值为'negative'时,即使'start_phi'和'end_phi'形成的角度范围比较大,也找不到圆,

不知道问题出现在哪里,还请各位路过的大神帮忙解答一下
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| LBD 发表于 2019-4-24 09:14:45 | 显示全部楼层
微信截图_20190424091347.png
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| LBD 发表于 2019-4-24 09:16:29 | 显示全部楼层
如上图所示,'point_order'值为'negative',即方向为顺时针,角度范围较大,但未成功拟合成圆
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| LBD 发表于 2019-4-24 09:18:28 | 显示全部楼层
如下图所示,'point_order'值为'positive',即逆时针,角度范围较小,依然可以拟合成圆
微信截图_20190424091417.png

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| LBD 发表于 2019-4-24 09:19:27 | 显示全部楼层
以下是原图
2-1.png
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| LBD 发表于 2019-4-24 09:21:53 | 显示全部楼层
  1. dev_close_window ()
  2. read_image (Image, 'C:/Users/Administrator/Desktop/2-1.png')
  3. get_image_size (Image, Width, Height)
  4. dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
  5. dev_display (Image)
  6. *Define the circle
  7. Row:=250
  8. Column:=300
  9. Radius:=80
  10. ShapeParam:=[Row,Column,Radius]
  11. * Prepare the metrology model data structure
  12. create_metrology_model (MetrologyHandle)
  13. set_metrology_model_image_size (MetrologyHandle, Width, Height)
  14. * Add the metrology circle objects to the model
  15. * as defined above
  16. * add_metrology_object_generic (MetrologyHandle, 'circle', ShapeParam, 50, 1, 8, 120,\
  17.                               ['start_phi','end_phi','point_order'],\
  18.                               [0, 1.57, 'positive'], MetrologyCircleIndices)
  19. add_metrology_object_circle_measure (MetrologyHandle, Row, Column, Radius,\
  20.                                      50, 1, 8, 120, \
  21.                                      ['start_phi','end_phi','point_order'],\
  22.                                      [0, 1.57, 'positive'], MetrologyCircleIndices)
  23. * 测量并拟合计量模型的所有计量对象的几何形状
  24. apply_metrology_model (Image, MetrologyHandle)
  25. * Access the results of the circle measurement
  26. get_metrology_object_result (MetrologyHandle, MetrologyCircleIndices, 'all', 'result_type', 'all_param', CircleParameter)
  27. * Get measured contours
  28. get_metrology_object_result_contour (Contours, MetrologyHandle, 'all', 'all', 1.5)
  29. area_center_xld (Contours, Area, Row2, Column2, PointOrder)
  30. gen_cross_contour_xld (Cross1, Row2, Column2, 10, 0.785398)
  31. get_metrology_object_measures (Contour, MetrologyHandle, 'all', 'all', Row1, Column1)
  32. gen_cross_contour_xld (Cross, Row1, Column1, 6, 0.785398)
  33. * Display everything
  34. Color := ['gray','red','green']
  35. dev_display (Image)
  36. dev_set_line_width (1)
  37. dev_set_color (Color[0])
  38. dev_display (Contour)
  39. dev_set_color (Color[1])
  40. dev_display (Cross)
  41. dev_set_line_width (2)
  42. dev_set_color (Color[2])
  43. dev_display (Contours)
  44. dev_display(Cross1)
  45. * Clean up memory
  46. clear_metrology_model (MetrologyHandle)

复制代码
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| LBD 发表于 2019-4-24 09:22:15 | 显示全部楼层
以上为源代码
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| LBD 发表于 2019-4-25 14:24:10 | 显示全部楼层
哪位大神帮忙解答一下
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
绝地武士 发表于 2019-4-26 10:01:35 | 显示全部楼层
LBD 发表于 2019-4-24 09:21
dev_close_window ()
read_image (Image, 'C:/Users/Administrator/Desktop/2-1.png')
get_image_size (Ima ...

楼主为嘛不用鸟叔的spoke卡圆工具呢?原理都差不多,而且效果好,可以参考https://www.51halcon.com/thread-117-1-1.html
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| LBD 发表于 2019-4-26 13:47:39 | 显示全部楼层
绝地武士 发表于 2019-4-26 10:01
楼主为嘛不用鸟叔的spoke卡圆工具呢?原理都差不多,而且效果好,可以参考https://www.51halcon.com/thre ...

只是搞不明白,为什么换个换个方向就不能拟合成圆,很明显,点都找到了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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