的MATLAB图像处理我有一个看起来像这样的图像:小圆圈
我有我应圈住自己的开放所有的瓶子的任务。我创建了一个简单的算法并开始工作。我的算法如下:
- 阈值的原始图像
- 不要在它
- 一些形态开使用区道具使得仅区域相当于填充空孔
- 独立的图像的部选择瓶子的嘴巴。
- 找到每个质心并在每个瓶子周围绘制圆圈。
我按照上面的算法做了,但是我有一些图像的一部分围绕着我画一个圆。这是因为我已经选择了该区域,因为瓶口区域和剩余噪音几乎相同。所以我产生了一个这样的人物。
应用上的图像看起来像这样的处理:
而且我在原始图像绘制圈后的最终图像是这样的:
我想我可以处理额外的圆圈,也就是说,由于图像的白色部分保持如下图2所示。这可以使用区域偏移来区分。这是一个好主意还是还有其他一些方法?我将如何处理玻璃后面的其他瓶子并选择它们?
另一个想法是使用[Hough变换](http://en.wikipedia.org/wiki/Hough_transform)[检测圆圈](http://www.cis.rit.edu/class/simg782/lectures /lecture_10/lec782_05_10.pdf) – Amro
可能的[最好的圆拟合算法]的副本(http://stackoverflow.com/questions/4387488/the-best-circle-fitting-algorithm) – abcd
有几个免费可用的MATLAB实现MATLAB Central File Exchange上的[圆形Hough变换](http://www.mathworks.com/matlabcentral/fileexchange/?term=hough+transform+circle)。 –