トップページ -> 実践知識 -> Octave を用いた画像処理,信号処理 -> Octave での画像ファイルの入出力
[サイトマップへ], [サイト内検索へ],

Octave での画像ファイルの入出力

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

Octave での画像ファイルの入出力を行う.

Octave バージョン 3.2.4 では,file_in_path.m の修正が必要になる場合があります.


前準備

Octave のインストールが済んでいること.

必見 Web ページ: http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/

必見 Web ページ: http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/


画像ファイルの読み込みと表示

カラー画像ファイルの読み込みと表示の例

ここではカラー画像ファイルの読み込みと表示を説明する.

※ ここでは JPEG ファイルを使っていますが,たいていの種類の画像ファイルを扱うことができます.

Octave バージョン 3.2.4 で「warning: isstr is obsolete and will be removed from a future version of Octave, please use ischar instead」というエラーメッセージが出て,結局 plot での描画がうまくできないことがあります.

Octave for windows メモ」の Web ページに参考情報があります. プロットの前に,次の操作を行うことで,このエラーを回避できる場合があります.


pkg unload oct2mat

■ Octave 3.2.4, Ubuntu バージョン 10.10 の実行例

[rgb, immap, alpha] = imread("/tmp/lena_std.jpg");
map = gray(256);
colormap(map);
imshow(rgb);

■ Octave バージョン 3.2.4, Windows の実行例

Windows では、ファイル名の指定が違うだけ(ドライブ名を付ける).

[rgb, immap, alpha] = imread("r:/lena_std.jpg");
map = gray(256);
colormap(map);
imshow(rgb);

カラー画像ファイルの R プレーンの表示の例

1 が RED, 2 が GREEN, 3 が BLUE

■ Octave 3.2.4, Ubuntu バージョン 10.10 の実行例

[rgb, immap, alpha] = imread("/tmp/lena_std.jpg");
map = gray(256);
colormap(map);
imshow(rgb(:,:,1));

■ Octave 3.2.4, Windows の実行例

Windows では、ファイル名の指定が違うだけ(ドライブ名を付ける).

[rgb, immap, alpha] = imread("r:/lena_std.jpg");
map = gray(256);
colormap(map);
imshow(rgb(:,:,1));

画像ファイルの書き出し

※ ここでは JPEG ファイルと PNG ファイルを使っていますが,たいていの種類の画像ファイルを扱うことができます.

※ 画像ファイルの確認には,ImageMagick の display コマンドが便利です.

カラー画像ファイルの書き出しの例

■ Octave 3.2.4, Ubuntu バージョン 10.10 の実行例

[rgb, immap, alpha] = imread("/tmp/lena_std.jpg");
imwrite(rgb, "/tmp/hoge.png");

■ Octave バージョン 3.2.4, Windows の実行例

Windows では、ファイル名の指定が違うだけ(ドライブ名を付ける).

[rgb, immap, alpha] = imread("r:/lena_std.jpg");
imwrite(rgb, "r:/hoge.png");

Octave 3.0.5, Linux の実行例

Octave のバージョンが古い場合,imwrite の引数の並びが変わります.先にファイル名,あとに,フレームデータの並び

rgb = imread("/tmp/lena_std.jpg");
imwrite("/tmp/hoge.png", rgb():,:,1), rgb():,:,2), rgb():,:,3));


画像ファイルの情報取得 (Octave 3.1.51 以上のみ)

画像ファイルの情報取得には,imfinfo 関数を使います. ここでは,画像ファイル名 r:/lena_std.jpg(Windows の場合は) を指定します.

※ ここでは JPEG ファイルを使っていますが,たいていの種類の画像ファイルを扱うことができます.

※ プロンプトを変えたいときは「PS1('> ')」のようなコマンドを実行してください.

画像ファイルの情報取得の例

■ Ubuntu バージョン 10.10 での実行例


info = imfinfo("/tmp/lena_std.jpg")
info.Width
info.Height

■ Windows での実行例


info = imfinfo("r:/lena_std.jpg")
info.Width
info.Height