我有一个类似于下图的图片。因为我需要找到所有的红色圆圈并计算它们。因此,我正在考虑使用MATLAB R2011a与图像处理工具包。我怎么可能提取它们呢?

发布于 2013-12-24 21:10:26
我可以给你一个起点:
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覆盖图像如下所示:

在面罩上使用RANSAC (根据AdrienNK的建议),您将获得番茄的位置(和数量) ;-)
-O-
发布于 2013-12-24 20:35:52
我建议你用一些过滤器来过滤这张图片上的点(正如丹尼斯所建议的,过滤那些不够红的)。然后,您可以实现一个(磁盘) RANSAC (RANdom SAmple Consensus)来在这个经过过滤的图片中查找磁盘。
RANSAC将使用一些调整,但随后将能够非常正确地计数您正在尝试查找的不同对象。
在matlab中已经有很多很好的RANSAC实现。
https://stackoverflow.com/questions/20755352
复制相似问题