Octave でのカラー画像の色空間を扱います.
◆ このWeb ページで行うこと
※ Octave での画像ファイルの入出力については,別のページで説明している.
必見 Web ページ: http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/
必見 Web ページ: http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/
この Web ページの手順をそのままなぞる場合には, 下記の手順で画像ファイルのダウンロードと確認を行う.
◆ 使用する画像ファイルのダウンロード手順例
cd /tmp curl -O https://www.kkaneko.jp/sample/lena_std.jpg curl -L https://github.com/opencv/opencv/blob/master/samples/data/fruits.jpg?raw=true -o fruits.jpg curl -O https://www.kkaneko.jp/sample/test.bmp
octave
画像ファイルを変数 に読み込み表示
※ Windows では「imread("r:/lena_std.jpg");」のようになる.
rgb = imread("/tmp/lena_std.jpg"); rgb2 = imread("/tmp/fruits.jpg"); rgb3 = imread("/tmp/test.bmp"); colormap(gray(256)); imshow(rgb); imshow(rgb2); imshow(rgb3 * 255);
元画像 |
![]() |
![]() |
![]() |
■ 事前準備
http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/ で,「Util」をクリック. 「Lab2RGB.m」と 「RGB2Lab.m」をダウンロード.わかりやすいディレクトリに置いておく.
■ RGB を Lab に変換する Octave プログラム例 (Octave program to covert RGB color space to Lab color space)
「source "RGB2Lab.m"」は,ファイルをOctave に読み込ませるコマンド.
※ Octave 3.6.1, Ubuntu 11.10 で動作確認済み.
※ Windowsの場合には「"/tmp/lena_std.jpg"」の部分を 「("t:/lena_std.jpg"」のように変えてください。
source "RGB2Lab.m" rgb = imread("/tmp/lena_std.jpg"); [L, a, b] = RGB2Lab(rgb); colormap(gray(256)); imshow(L, [min(min(L)) max(max(L))]); imshow(a, [min(min(a)) max(max(a))]); imshow(b, [min(min(b)) max(max(b))]);
◆ 実行結果の例 (lena_std.jpg)
rgb = imread("/tmp/lena_std.jpg");
L
a
b
◆ 実行結果の例 (fruits.jpg)
rgb = imread("/tmp/fruits.jpg");
L
a
◆ 実行結果の例test.bmp)
rgb = imread("/tmp/test.bmp") * 255;
L
a
b
■ 事前準備
http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/ で,「Util」をクリック. 「Lab2RGB.m」と 「RGB2Lab.m」をダウンロード.わかりやすいディレクトリに置いておく.
■ Lab を RGB に変換する Octave プログラム例 (Octave program to covert Lab color space to RGB color space)
※ Octave 3.6.1, Ubuntu 11.10 で動作確認済み.
※ Windowsの場合には「"/tmp/lena_std.jpg"」の部分を 「("t:/lena_std.jpg"」のように変えてください。
source "RGB2Lab.m" source "Lab2RGB.m" rgb = imread("/tmp/lena_std.jpg"); [L, a, b] = RGB2Lab(rgb); rgb2 = Lab2RGB(L, a, b); colormap(gray(256)); imshow(rgb2);
◆ 実行結果の例 (lena_std.jpg)
rgb = imread("/tmp/lena_std.jpg");
◆ 実行結果の例 (fruits.jpg)
rgb = imread("/tmp/fruits.jpg");
◆ 実行結果の例 (test.bmp)
rgb = imread("/tmp/test.bmp") * 255;