高分悬赏:得到圆圈的个数(300分)

  • 主题发起人 主题发起人 jjxyghj
  • 开始时间 开始时间
J

jjxyghj

Unregistered / Unconfirmed
GUEST, unregistred user!
图片中有若干等大的小圆圈,有实心的,有空心的,如何得到
它们的个数?
 
1、背景如何,固定图像?
2、圆重叠吗?
 
背景为白色,圆圈无重合
 
1、圆圈的半径 已知/未知?
2、背景白色,圆圈的边什么颜色?透明的圆圈里面的颜色呢?
 
圆圈半径固定,圆圈边颜色为黑色,实心内部也为黑色,空心圆圈边为黑色内为白色。
空心和实心圆圈等大。我说的够明白吗?
 
1、先填充 空心圆 为黑色底(这步估计比较难)
2、统计 整个图白色点的数量n,
(另外,已知的全图的长宽x,y,圆的半径r)
那么 圆的个数:= (x*y - n) /(3.14*r*r);

这个好像是已知的 最快的算法了。(特别适合 圆形不会被边缘挡住一半。)
 
为了提高速度,如果有可能,空心圆里面 一开始 就用其他颜色表示,那就一点难度都没有了。
 
背景中除了圆圈,还有大量的文字。
 
晕,要不怎么问你背景问题。

如果背景是已知的还是能做,有圆跟没圆作比较还是很快。
 
如果能解决填充的问题,那直接点黑色的点m
圆圈数:=m /(3.14*r*r)了。
(背景有黑色文字就错误。)

不知道你的情况怎样,如果背景本来就知道,还是我前面的方法可行。
 
我看资料上都是通过一定算法来实现的,你的方法可能太死板,针对性
会差的。
 
实时性要求比较高的都是这样算的,没办法,计算量跟速度成反比。

难道要去跟踪圆圈的边缘 得到曲线函数,然后再去数数看有几个函数就几个圆圈?万一2个圆相切了,就跟踪错了。
 
我以前研究过一个图像识别系统,用来识别红血球数量的,可能和这个比较相似吧。
 
应该属于简单几何图形识别,网上有些毕业论文挺符合的,只是看不到。
谁有简单图形识别的例子,有的发到jjxyghj@12.com,我把分都给他。
 
如果各个圆不重叠且边界分明、图像上除了圆以外没有其它杂点,那么可以用填充的方法
来解决:
按一定的顺序扫描图像上的每个点(例如逐行从上到下,从左到右扫描),若发现一个与
背景色不同的点,则将计数器加一,并以该点为种子用背景色进行填充,填充完毕后,继续
以当前点为起点进行同样的顺序扫描,直到将整个图像扫描完毕。
 
圆圈有实心的,也有空心的,并且屏幕上还有其他字符(如文字、表格等)。
快来拿分,不够可以再加!
 
后退
顶部