君若锦衣上舞
技术员
技术员
  • 最后登录2017-01-19
  • 发帖数20
  • 金币107枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
阅读:149回复:7

找多个圆并求圆心间距离

楼主#
更多 发布于:2017-01-11 09:47
求求求,这样的图片只能这样的效果了,无法更改打光等方面
应该如何得到其中的各个圆
中间方形区域的小圆

得到圆的圆心,以及圆心之间的距离
差不多下图的意思









第二回合:
谢谢下面的大神,但是现在有个新问题啊
标定之后转换坐标系 测量出来的长度应该是180、130、80.可是为什么最大会有2mm左右的误差
这个会有什么原因的影响
还有,只需要测量横纵两方向的距离就够了,其他的斜方向不用测的
[君若锦衣上舞于2017-01-12 16:49编辑了帖子]
mine_12
助理工程师
助理工程师
  • 最后登录2017-01-18
  • 发帖数29
  • 金币344枚
  • 贡献勋章0枚
  • 社区居民
沙发#
发布于:2017-01-12 08:52
感觉目前的打光方式只能让圆部分区域亮,这样的定位结果估计精度不高。在时间允许的话,可尝试光度立体的打光方式,将圆的边缘打亮,再定位圆会很容易,可参考例程read_braille_photometric_stereo
j04249
技术员
技术员
  • 最后登录2017-01-18
  • 发帖数27
  • 金币140枚
  • 贡献勋章0枚
  • 社区居民
板凳#
发布于:2017-01-12 09:24

图片:1.png

效果图



dev_set_draw ('margin')
read_image (Image, 'F:/Study/Halcon例子/拟合圆/1.bmp')
*draw_rectangle1 (3600, Row1, Column1, Row2, Column2)
Row1:=80.108
Column1:=137.857
Row2:=1032.06
Column2:=1074.07
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)


reduce_domain (Image, Rectangle, ImageReduced)
threshold (ImageReduced, Regions, 39, 255)
fill_up (Regions, RegionFillUp)
connection (RegionFillUp, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 400.85, 884)
count_obj (SelectedRegions, Number)
for Index:=0 to Number/2-1 by 2
    select_obj (SelectedRegions, ObjectSelected, Index+1)
    area_center (ObjectSelected, Area, Row, Column)
    select_obj (SelectedRegions, ObjectSelected1, (Number-Index))
    area_center (ObjectSelected1, Area3, Row3, Column3)
    gen_rectangle1 (Rectangle1, Row, Column, Row3, Column3)
    smallest_circle (Rectangle1, Row4, Column4, Radius)
    gen_circle (Circle, Row4, Column4, Radius)
    disp_message (3600, Row3, 'window', Row4, Column4, 'green', 'true')
endfor
shangtuishao
工程师
工程师
  • 最后登录2017-01-19
  • 发帖数171
  • 金币901枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
  • 追星一族
地板#
发布于:2017-01-12 09:41
666666666666
qimingzinan
技术员
技术员
  • 最后登录2017-01-12
  • 发帖数37
  • 金币138枚
  • 贡献勋章0枚
4楼#
发布于:2017-01-12 09:47
检测的目的是测圆的位置有没有打磨对?那应该有个MARK之类的吧
Dath_li
技术员
技术员
  • 最后登录2017-01-19
  • 发帖数47
  • 金币155枚
  • 贡献勋章0枚
  • 社区居民
5楼#
发布于:2017-01-12 15:14
楼上的j04249
君若锦衣上舞
技术员
技术员
  • 最后登录2017-01-19
  • 发帖数20
  • 金币107枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
6楼#
发布于:2017-01-12 16:41
mine_12:感觉目前的打光方式只能让圆部分区域亮,这样的定位结果估计精度不高。在时间允许的话,可尝试光度立体的打光方式,将圆的边缘打亮,再定位圆会很容易,可参考例程read_braille_photometric_stereo回到原帖
真心感谢
fengxiaoyun987
专家
专家
  • 最后登录2017-01-19
  • 发帖数604
  • 金币2051枚
  • 贡献勋章0枚
  • 社区居民
  • 原创写手
7楼#
发布于:2017-01-13 09:05
板凳666666666666666666666666
游客

返回顶部