トップページ -> 実践知識 -> Octave を用いた画像処理,信号処理 -> Octave でカラー画像の色空間を扱う(カラー画像を入力、出力とする)
[サイトマップへ], サイト内検索:

Octave でカラー画像の色空間を扱う(カラー画像を入力、出力とする)

サイト構成 連絡先,業績など 実践知識 データの扱い コンピュータ 教材 サポートページ

Octave でのカラー画像の色空間を扱います.

◆ このWeb ページで行うこと

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 ページの手順をそのままなぞる場合には, 下記の手順で画像ファイルのダウンロードと確認を行う.

  1. 画像ファイルのダウンロード

    ◆ 使用する画像ファイルのダウンロード手順例

    cd /tmp
    wget https://www.kkaneko.jp/cc/stand/lena_std.jpg
    wget https://www.kkaneko.jp/cc/stand/fruits.jpg
    wget https://www.kkaneko.jp/cc/stand/test.bmp
    

  2. Octave の起動
    octave 
    

  3. 確認のため,表示してみる。

    画像ファイルを変数 に読み込み表示

    ※ 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);
    
元画像

RGB を Lab に変換

事前準備

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

b

◆ 実行結果の例test.bmp)

rgb = imread("/tmp/test.bmp") * 255;

L

a

b


Lab を RGB に変換

事前準備

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;