bwboundariesの色分けについて

bwboundaries関数を用いた際に多くの色が用いられ、色分けされますが、プログラムの中に、色を指定するような部分は見られず、どのように色が出てきているのでしょうか。

 採用された回答

Shunichi Kusano
Shunichi Kusano 2019 年 11 月 20 日

1 投票

bwboundaries関数自体は、境界の座標を取得するためのもので、お気づきのとおり色情報などは含みません。
色は表示の際にユーザ側で指定できます。
例えばご提示のURLの2番目の例ですと、境界を描画しているのはplot関数で、その中で色はcolors(cidx)で指定しています。境界の番号ごとにcolors=['b' 'g' 'r' 'c' 'm' 'y'];で指定した色を順繰りに割当てて表示させています。

4 件のコメント

Nagae Ryoya
Nagae Ryoya 2019 年 11 月 20 日
色を一色に固定したり、その線の長さを測定することは可能でしょうか。
Shunichi Kusano
Shunichi Kusano 2019 年 11 月 20 日
色を固定する方法ですが、明示的に色指定をしなければ一色となります。何かお好みの色にしたい場合は、その色を指定すれば大丈夫です。例えば、上にも出したご提示のURLの2番目の例では、色を指定するところでcolors(cidx)で、順繰りに色を変えていますが、ここを'r'(赤の場合)とかに固定で書き換えればその色にできます。
線の長さは外周ですのでregionprops関数で計算することができます。詳しい使い方はドキュメントをご覧いただければと思いますが、プロパティに'Perimeter'をいれれば大丈夫です。
Nagae Ryoya
Nagae Ryoya 2019 年 11 月 21 日
regionprops関数を使用したいのですが、プログラムがうまく行きません。
regionprops関数の例が載っているページを確認しましたが、自分のプログラムと合わせることができません。
プログラムは以下の通りです。
%%画像入力
kaki_img=imread('box_dark.jpg'); %画像読み込み
%kakiimg=imcrop(kakiimg)
figure(2)
imshow(kaki_img,'Border','tight','InitialMagnification','fit');
%%画像全体のセグメンテーション
kaki_red=kaki_img(:,:,1); %画像のセグメンテーション(赤要素検出)
figure(3)
imshow(kaki_red,'Border','tight','InitialMagnification','fit');
%%画像の二値化
kaki_th=kaki_red>180;
figure(4)
imshow(kaki_th,'Border','tight','InitialMagnification','fit');
%%二値化画像の穴埋め
kaki_th=imfill(kaki_th,'holes');
figure(5)
imshow(kaki_th,'Border','tight','InitialMagnification','fit');
%%二値化画像のクリーンナップ(周囲の白を除去)
cc1=bwconncomp(kaki_th);
main1=regionprops(cc1,'Area');
A=[main1. Area];
[~,biggest]=max(A);
kaki_th(labelmatrix(cc1)~=biggest)=0; %最大の塊となっている1の要素以外の1の要素を0にする
figure(6)
imshow(kaki_th,'Border','tight','InitialMagnification','fit');
%%牡蠣の二値化画像の外周に色付け
BW=imbinarize(I);
%%Detec boundarries
B=bwboundaries(kaki_th,'noholes');
figure(7)
imshow(BW)
hold on
for kk=1:numel(B)
%%'c'で色を固定
plot(B{kk}(:,2),B{kk}(:,1),'c','LineWidth',2)
end
よろしくお願いします。
Shunichi Kusano
Shunichi Kusano 2019 年 11 月 21 日
具体的には何がうまくいきませんか?上のプログラムのどの画像(変数)にregionpropsを適用したいのですか?regionpropsではなんのパラメータを計算したいのですか?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeImage Processing Toolbox についてさらに検索

製品

リリース

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!