我正在 matlab 中处理树叶的图像。我将通过一些相似性函数(例如欧几里得)比较这些叶子的部分,但首先我需要提取每个叶子的部分然后保存它们。所以,这是我现在的问题:我如何选择这些部分并绘制一个矩形来显示将要切割的内容?我已经通过使用 regionprops 函数获得了质心和边界框(您可以在图像 firstResultsMatlab.png 中看到红色的那些)。但是,我正在努力尝试绘制和提取蓝色部分(相同的图像)。我不想从黑色背景中获取部分,只从离开中获取部分。
我还添加了叶子的图像作为我一直在研究的示例以及我用来获取边界框和质心的代码。欢迎任何想法!
非常感谢您提前。
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