我有一个类似于下面的图像。在那我需要找到所有的红色圆圈并计算它们。所以,我正在考虑使用带有图像处理工具包的 MATLAB R2011a。我怎么可能提取它们?
问问题
1219 次
2 回答
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
叠加图像如下所示:
在面罩上使用 RANSAC(由 AdrienNK 建议),您将获得西红柿的位置(和数量);-)
-O-
于 2013-12-24T13:10:26.117 回答
0
我建议你对这张图片上的点进行一些过滤(正如丹尼斯建议的那样,过滤那些不够红的点)。然后你可以实现一个(磁盘)RANSAC(随机抽样共识)来在这个过滤的图片中找到磁盘。
RANSAC 将使用一些调整,但随后将能够非常正确地计算您尝试查找的不同对象。
在 matlab 中已经完成了很多好的 RANSAC 实现。
于 2013-12-24T12:35:52.307 回答