Octave での画像ファイルの入出力を行う.
幅,高さ,画像の種類(カラーかグレーレベルか黒白か)などの情報を取得します
※ Octave バージョン 3.2.4 では,file_in_path.m の修正が必要になる場合があります.
必見 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 での描画がうまくできないことがあります.
謝辞:http://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html で公開されたいた「Octave for windows メモ」を参考にしました.ありがとうございます. プロットの前に,次の操作を行うことで,このエラーを回避できる場合があります.
pkg unload oct2mat
■ Octave 3.2.4, Ubuntu の実行例
[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);
1 が RED, 2 が GREEN, 3 が BLUE
■ Octave 3.2.4, Ubuntu の実行例
[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 の実行例
[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));
画像ファイルの情報取得には,imfinfo 関数を使う. ここでは,画像ファイル名 r:/lena_std.jpg(Windows の場合は) を指定します.
※ ここでは JPEG ファイルを使っていますが,たいていの種類の画像ファイルを扱うことができる.
※ プロンプトを変えたいときは「PS1('> ')」のようなコマンドを実行してください.
画像ファイルの情報取得の例
■ Ubuntu での実行例
info = imfinfo("/tmp/lena_std.jpg")
info.Width
info.Height
■ Windows での実行例
info = imfinfo("r:/lena_std.jpg")
info.Width
info.Height