画像の拡大
画像の拡大を行うような Octave のプログラム例を示す.
Octave の次の関数を使う.
- imread: 画像ファイルの読み込み
- imshow: 画像の表示
- meshgrid: メッシュグリッド形式の配列の生成
- interp2: 補間
前準備
Octave のインストールが済んでいること.
必見 Web ページ: http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/
必見 Web ページ: http://www.eecs.berkeley.edu/Research/Projects/CS/vision/bsds/
* プロンプトを変えたいときは,次のように操作する.
PS1('> ')
* Octave のインストールによっては,Octave の起動時に毎回次の操作を行う必要があるかもしれない
pkg load image
説明に使う濃淡画像
画像ファイルを変数 rgb に読み込み,RGB 画像を濃淡画像に変換
* 「/tmp/lena_std.jpg」の部分は画像ファイル名に書き換えて使ってください.
[rgb, immap, alpha] = imread("lena_std.jpg");
mono = rgb2gray( rgb );
* Windows では「imread("t:/lena_std.jpg");」のようにしてください.
画像の拡大
◆ 濃淡画像の場合
「"pchip"」のところは 「"linear"」などが選べる.
[XX, YY] = meshgrid(1:512, 1:480);
[XX2, YY2] = meshgrid(100:0.1:151.1, 100:0.1:147.9);
imshow(interp2( XX, YY, mono, XX2, YY2, "pchip" );

◆ カラー画像の場合
rgb2(:,:,1) = interp2( XX, YY, rgb(:,:,1), XX2, YY2, "pchip"):
rgb2(:,:,2) = interp2( XX, YY, rgb(:,:,2), XX2, YY2, "pchip"):
rgb2(:,:,3) = interp2( XX, YY, rgb(:,:,3), XX2, YY2, "pchip"):
