做过图象处理的朋友来看看,给个思路,该怎么解决

做过图象处理的朋友来看看,给个思路
一副图片上有好多不相交的圆形,如何在不动鼠标的情况下计算出这些圆形的大小?

我现在可以通过处理图片来描绘出这些圆,但是不知道哪些点是构成同一个圆的,还有误差如何控制?
谢谢

------解决方案--------------------
假设你的图片是单色的
先对图片进行腐蚀处理,将圆的边界减小到1个像素
然后扫描真个图片,找到第一个像素点,我们称之为种子,对这个点进行8连通边界扫描,再根据扫描到的第一个像素再扫描...直到回到第一个像素.这些点就是一个圆,然后扫描真个图片再找第二个种子(把种子的坐标去前面找到的几个圆的像素列表中对比,如果已经存在则不是种子)

思路不是很难,编程实现稍微有点难度,但是不涉及很高深的东西.
------解决方案--------------------
我提供一个最简单的方法
同样假设你的图片已经被处理成单色的(我们接下来将要让它再变成彩色),并且圆是真正合拢的.
把整个图片划分成N*N个单元格,如果圆形都较大,N可以小点,反之,N就大些.
用FOR I=0 TO N...FOR J=0 TO N 的两层嵌套循环,在这N*N个单元格里用填充函数填色.注意:填色之前看看当前点是否已经变色,如果已经变色就不填,同时把颜色值变一下;如果是从未填充过的颜色,就执行填充函数,并把填充所用的颜色值存入一个动态数组中.
最后,通过这个动态数组的COUNT属性,就知道一共有几个圆.用FOR I=0 TO 动态数组.COUNT-1 每次取一个圆的填充色,并用读像素点颜色的方法通读全图,就可以统计出属于这种填充色的像素点的个数,这就是每个圆形的实际像素面积大小了.
------解决方案--------------------
学习
------解决方案--------------------
用hough检测圆,可以参考一下opencv。

http://www.opencv.org.cn/index.php/Cv%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86#HoughCircles
------解决方案--------------------
第一次来看到你们讨论可真深啊!
------解决方案--------------------
既然可以描绘出这些圆,那简单用Rgn类的API,可帮你完成所有测试:

1、用CreateEllipticRgn分别按你描绘的圆创建相同大小的Rgn对象;

2、用PtInRegion就可直接测试任何一个点,在哪个Rgn中。