画像の拡大

概要

画像の拡大を行う Octave のプログラム例を示す。

Octave の次の関数を使う。

目次

関連する外部ページ

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

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

サイト内の関連情報

Octave のトップページ

第1章 前準備

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

* プロンプトの表示を変えたいときは、次のように操作する。

PS1('> ')

* Octave のインストールによっては、Octave の起動時に毎回次の操作(image パッケージの読み込み)を行う必要がある。

pkg load image

第2章 説明に使う濃淡画像

画像ファイルを変数 rgb に読み込み、RGB 画像を濃淡画像に変換する。

*lena_std.jpg」の部分は、使う画像ファイル名に書き換えて使うこと。

[rgb, immap, alpha] = imread("lena_std.jpg");
mono = rgb2gray( rgb );

* Windows では「imread("t:/lena_std.jpg");」のように、ドライブ名を含むパスで指定する。

第3章 画像の拡大

◆ 濃淡画像の場合

補間の方法を指定する「"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" );