如何计算图像中的圆形物体

时间:2013-12-24 05:30:05

标签: matlab image-processing computer-vision geometry object-recognition

我有一个类似于下面的图像。在那里我需要找到所有红色圆圈并计算它们。所以,我正在考虑使用MATLAB R2011a和Image Processing Toolkit。我怎么可能提取它们?

enter image description here

2 个答案:

答案 0 :(得分:1)

我可以给你一个起点:

v=double(img)/255;
mask = v(:,:,3)+v(:,:,2)-v(:,:,1)<0;
mask = imopen(mask,strel('square',3));
imagesc(min(1,v+cat(3,mask*0,mask*1,mask*0)));axis image

叠加图片如下所示:enter image description here

在面具上使用RANSAC(由AdrienNK建议),你将获得西红柿的位置(和数量); - )

-O -

答案 1 :(得分:0)

我建议你使用一些过滤这张照片上的点(正如丹尼斯建议的那样,过滤掉那些不够红的照片)。然后,您可以实现(磁盘)RANSAC(RANdom SAmple Consensus)来查找此过滤图片中的磁盘。

RANSAC将使用一些调整,但随后将能够非常正确地计算您要查找的不同对象。

在matlab中已经有很多很好的RANSAC实现。