0

私はmatlabで葉の画像を扱っています。いくつかの類似関数 (ユークリッドなど) を使用してこれらの葉の部分を比較しますが、最初に各葉の部分を抽出して保存する必要があります。だから、これが今の私の問題です。どのようにそれらの部分を選択し、何が切り取られるかを示す長方形を描くのですか? regionprops 関数を使用して、重心と境界ボックスを既に取得しています (画像 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-結果 リーフ-1

4

0 に答える 0