L*a*b*色空間に​て1成分を取り出し,​黒い箇所を除いた合計​と平均を取得したい

6 visualizaciones (últimos 30 días)
touka kakihara
touka kakihara el 23 de Ag. de 2021
Comentada: touka kakihara el 25 de Ag. de 2021
 以下のような画像があるとき,L*a*b*色空間に変換したのち,各L*,a*b*1成分づつ取り出し,各成分の合計値と合計値を黒い箇所を除く面積で割った平均を所得したいと考えております.
L*a*b*色空間に変換するにあたり,rgb2lab を活用しようとしたのですが,各成分を利用する方法と黒い箇所を除く条件式をどのように表現すれば良いかわかりません.
ご教授のほど、よろしくお願いいたします.

Respuesta aceptada

Shunichi Kusano
Shunichi Kusano el 24 de Ag. de 2021
黒い部分の値はおそらくL=0,a=0,b=0になっていると思いますので(確認してみてください)、Labの各成分がその値に一致しているところを抜き出してきて、論理積を取れば黒い部分のマスクができます。
maskL = labImg(:,:,1) == 0;
maskA = labImg(:,:,2) == 0;
maskB = labImg(:,:,3) == 0;
mask = maskL & maskA & maskB;
画像の中にも該当する画素があれば抽出されてしまうので場合によってはモルフォロジー処理などで、欲しい領域(おそらく画像の左右の領域ですよね?)だけにするような処理が必要かもしれません。詳しくはこちら
マスクができれば、それ以外の画素の値を抽出できるので、その値から平均値を求めれば完了です。
[l,a,b] = imsplit(labImg); % チャンネルごとに分離
meanL = mean(l(~mask)); % 黒領域以外の画素値を抜き出してきて平均値を計算
meanA = mean(a(~mask));
meanB = mean(b(~mask));
  1 comentario
touka kakihara
touka kakihara el 25 de Ag. de 2021
返信遅れてしまい大変申し訳ありません.
丁寧なご回答,誠にありがとうございます.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!