Matlab:提取图像的部分(没有背景)

时间:2016-05-17 02:06:04

标签: matlab image-extraction

我正在使用matlab中的叶子图像。我将通过一些相似性函数(例如欧几里德)比较这些叶子的部分,但首先我需要提取每个叶子的部分然后保存它们。所以,现在这是我的问题:如何选择这些部分并绘制一个矩形,显示将要切割的内容?我已经通过使用regionprops函数得到了质心和一个boundingBox(你可以在图像firstResultsMatlab.png中看到红色的那些)。然而,我正在努力绘制和提取像蓝色(相同的图像)那样的部分。我不想从黑色背景中获取零件,只有部分来自假。

我还添加了一个叶子图像作为我一直在研究的例子以及我用来获取boundingBox和质心的代码。欢迎任何想法!

非常感谢你。

I = imread('C:\Users\IBM_ADMIN\Desktop\Mestrado\Imagens_Final\IMG1_N1_1.png');
L = bwlabel(I);

s = regionprops(L,'BoundingBox');
stat = regionprops(L,'centroid');

hold on;
colors = hsv(numel(s)); 
for k = 1:numel(s) 

him = imshow(I); 
hold on; 
rectangle('Position', s(k).BoundingBox, 'EdgeColor', colors(k,:));
plot(stat(k).Centroid(1),stat(k).Centroid(2),'rx');
end

matlab-results leaf-1

0 个答案:

没有答案