bwboundariesの色分けについて

조회 수: 4 (최근 30일)
Nagae Ryoya
Nagae Ryoya 2019년 11월 20일
댓글: Shunichi Kusano 2019년 11월 21일
bwboundaries関数を用いた際に多くの色が用いられ、色分けされますが、プログラムの中に、色を指定するような部分は見られず、どのように色が出てきているのでしょうか。

채택된 답변

Shunichi Kusano
Shunichi Kusano 2019년 11월 20일
bwboundaries関数自体は、境界の座標を取得するためのもので、お気づきのとおり色情報などは含みません。
色は表示の際にユーザ側で指定できます。
例えばご提示のURLの2番目の例ですと、境界を描画しているのはplot関数で、その中で色はcolors(cidx)で指定しています。境界の番号ごとにcolors=['b' 'g' 'r' 'c' 'm' 'y'];で指定した色を順繰りに割当てて表示させています。
  댓글 수: 4
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개)

카테고리

Help CenterFile Exchange에서 イメージのセグメンテーションと解析에 대해 자세히 알아보기

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!