grayscale画​像のSuperpix​els計算について

grayscale画像のSuperpixelsの計算について、ご教授ください。
説明分に以下のような記載があります。
[L,NumLabels] = superpixels(A,N) は、2 次元のグレースケール イメージまたは RGB イメージ A のスーパーピクセルを計算します。
Superpixelの計算では、はじめに画像をLab空間に変換する必要があると思うのですが、
grayscale画像は、どのような計算(数式)でLabに変換されるのか悩んでおります。
ご教授よろしくお願いいたします。

댓글 수: 3

Matsuura様、
MATLABに実装されているsuper pixelの計算方法は、ご指摘の通り Radhakrishna Achantaの手法になるので、L*a*bに変換する必要があります。https://jp.mathworks.com/help/images/ref/superpixels.html 
実装についての調べ方ですが、関数の中身は自作関数か組み込み関数の違いなく、以下で確認することが可能です。
edit function_name
お問い合わせのグレースケール画像のときの処理ですが、R2021aにおいては、163行目からの"function Aout = postProcessInputImage(A,isInputLab)"で処理が行われますが、該当する部分を取り出しますと以下になります。言葉で説明すれば、グレースケールの画像(配列)を3次元方向に拡張(複製)したうえで、rgb2labでL*a*bに変換し、得られた3次元配列の先頭部分だけ取り出します。
grayscaleInput = false;
if ismatrix(A) && ~isa(A,'int16')
grayscaleInput = true;
A = repmat(A,[1 1 3]);
end
if isInputLab
:
elseif isa(A,'int16')
:
else
Aout = rgb2lab(A);
end
if grayscaleInput
Aout = Aout(:,:,1);
end
いかがでしょうか?
なお、"edit"コマンドで中がみれる場合とそうでない場合がございます。
菱田
eri matsuyama
eri matsuyama 2021년 5월 3일
菱田さま
ご教授頂き、感謝申し上げます。
とても納得でき、非常にスッキリいたしました。
大変、勉強になりました。
誠にありがとうございました。
Hiroyuki Hishida
Hiroyuki Hishida 2021년 5월 3일
Matsuyama様、 良かったです。

댓글을 달려면 로그인하십시오.

답변 (0개)

제품

릴리스

R2021a

태그

질문:

2021년 5월 1일

댓글:

2021년 5월 3일

Community Treasure Hunt

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

Start Hunting!