开启左侧

测量圆的直径

  [复制链接]
rosam 发表于 2017-3-23 00:52:55 | 显示全部楼层 |阅读模式
大神帮我看看我的测量圆直径的算法是否OK?
22.png
  1. * Image Acquisition 01: Code generated by Image Acquisition 01
  2. read_image (Image, 'C:/Users/Administrator/Desktop/22.png')
  3. *要测量一个圆的直径,可以先通过阈值筛选出黑色部分
  4. threshold(Image, Region, 0, 100)
  5. *将选中部分组合
  6. connection (Region, ConnectedRegions)
  7. *选择其中类圆度高的部分根据选中部分与圆的相似度筛选出圆型部分
  8. select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', 150, 99999)
  9. *扩张有一个圆形结构元素的地区 Radius 圆半径
  10. dilation_circle (SelectedRegions, RegionDilation, 8.5)
  11. *用一个圆形的结构元素进行腐蚀图像(小于半径的区域会被腐蚀掉,一般用于有弧形的区域,大多数用这个算子)
  12. erosion_circle (RegionDilation, RegionErosion,8.5)
  13. *计算两个区域的差异
  14. difference(RegionDilation, RegionErosion, RegionDifference)

  15. union1(RegionDifference, RegionUnion)
  16. *提取其边缘轮廓。
  17. edges_sub_pix (Image, Edges, 'lanser2', 0.3, 10, 20)

  18. *用一个椭圆去近似它(这个圆形区域毕竟不是真正的圆,需要进行拟合)
  19. *从而得到这个区域的中点坐标 Row, Column,与x轴的角度Phi,半长轴Ra,半短轴Rb,开始角度StartPhi,结束角度EndPhi,
  20. fit_ellipse_contour_xld (Edges, 'ftukey', -1, 2, 0, 200, 3, 2, Row, Column, Phi, Radius1, Radius2, StartPhi, EndPhi, PointOrder)
复制代码
Criss 发表于 2017-3-23 07:34:57 | 显示全部楼层
凡是测量请使用卡尺工具,其他算法都是不靠谱或者不准确的。
你可以在本站下载鸟叔封装的spoke卡圆算子,获取圆的半径或者坐标位置。
QQ截图20170329101651.png
游客,如果您要查看本帖隐藏内容请回复


QQ截图20170329101235.png

  1. Radius = 149.861
复制代码
那么直径就是2*R = 2*149.861=299.722 (pixel),再根据像素当量换算成实际尺寸即可。

小沫爱视觉 发表于 2017-4-8 08:55:49 | 显示全部楼层
卡尺工具是什么呢?没找到呀 能不能指点一下?
Criss 发表于 2017-4-8 09:20:47 | 显示全部楼层
小沫爱视觉 发表于 2017-4-8 08:55
卡尺工具是什么呢?没找到呀 能不能指点一下?

首页搜索 spoke 就可以了,这个是卡圆的卡尺
小沫爱视觉 发表于 2017-4-8 09:39:52 | 显示全部楼层
Tencent 发表于 2017-4-8 09:20
首页搜索 spoke 就可以了,这个是卡圆的卡尺

感谢指点,这个整套都是一个工具?就是鸟叔封装好的? 是吗
小沫爱视觉 发表于 2017-4-8 10:12:44 | 显示全部楼层
小沫爱视觉 发表于 2017-4-8 09:39
感谢指点,这个整套都是一个工具?就是鸟叔封装好的? 是吗

书籍的连接在哪 呢?能不能发一下?:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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