获取多个圆的圆心

 

原始图片:

                                                    图A

                                                          图B

 

两种方法:

 

第一种方法:扫描整个图像,对于每个圆形区域,最先扫描到的点应为其顶点A,如图1所示,获取顶点A和底部点B的坐标,AB的中点即为圆心坐标。同时将该圆形区域的灰度值置为其他值,这样在扫描下一行时就不会在扫描到该圆。

                                     图1

 

实现代码:

 

A图的运算效果如图2:效果可以接受

                                图4

                                  图2

 

B图的运算效果如图3:由于B图中的圆有些不是很光滑,顶部有些地方是直线,所以第一个扫描的点不是A,而是A前面的某一点,所以有些圆并未取到圆心。

 

                                图3

 

针对B图这种情况,采用另一种算法,求质心法。质心的求法为:

其中,f(x,y)(x,y)点处的灰度值。

仍然扫描图像,对每个圆形区域求质心,并将区域的灰度值重新标定,以免该区域被再次扫描到,代码:

B图的效果见图4:效果可以接受

                          图4

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值