2012年6月3日日曜日

R言語


とある本屋で画像処理の本を見かけたので、早速チャレンジしてみることに。

統計処理がそもそもメインらしいけど、画像処理も行えると言うことで。。。
統計処理と画像処理が結びつくのは、多量にサンプルが出た場合とかですね。

あとは、非工業製品系の画像処理には統計的に篩にかけることができるので良いかもしれません。

一般的には、対象物に対しての基軸となる基準が欲しいところです。
統計情報は、基軸としてある意味正しいアプローチのような気がいたします。
以前ですと、職人さんのノウハウや経験といったことで済まされていましたが、実際にデータとして目に見える形での提示は、今後望まれると思います。
もしくは統計情報を用いて正確に分析することが求められるのかもしれません。



結果
OpenCVでよく使われるサンプル画像のlenaさん
結果から述べていきます。


元画像
 ハイパスフィルタ
 ラプラシアンフィルタ

ソベルフィルタ










以下
作業メモです。

環境
MacOS X version 10.7.4


Rのパッケージ品
R-2.15.0.pkg (latest version)
http://cran.md.tsukuba.ac.jp/




macport必須
fftwとjpegをインストールする

% sudo port install fftw jpeg

シンボリックリンク
% sudo ln -s /opt/local/include/dfftw.h /usr/local/include/fftw.h
% sudo ln -s /opt/local/lib/libdfftw.a /usr/local/lib/libfftw.a


rimageのダウンロード
R言語でjpegを扱えるようにする
http://cran.r-project.org/src/contrib/Archive/rimage/
最新版のrimageを選択する
rimage_0.5-8.2.tar.gz 09-Jun-2011 08:06 70K


rimageのインストール
Rコンソールにてrimageをインストールを行います。

> install.packages("/Users/garak/Downloads/rimage_0.5-8.2.tar.gz",type="source",configure.args="--with-fftw-include=/usr/local/include --with-fftw-lib=/usr/local/lib --with-jpeg-include=/opt/local/include --with-jpeg-lib=/opt/local/lib")


JPEGのパッケージ読み込み
rimageパッケージをロードする。
デフォルトでは、未ロードのため。
Rコンソール内の[パッケージとデータ] - [パッケージマネージャ]
からrimageを選択する


作業ディレクトリ
jpegが存在するディレクトリを指定する
Rコンソール内の[その他] - [作業ディレクトリの変更]


JPEGの表示
> gazou <- read.jpeg('cat.jpg')
>
> plot (gazou)


画像処理
画像処理フィルタは下記の関数群が用意されています。
一般的な画像が用いられますね。
>
 httpdヘルプサーバーを起動...   完了
> gazou <- read.jpeg('lena.jpg')
> plot(gazou)
>
>
> plot (normalize(highpass(gazou, radius = 50)))
> plot (normalize(laplacian(gazou)))
> plot (normalize(sobel(gazou)))
>

グレースケール
平滑化
ローパスフィルタ
ハイパスフィルタ
平均値
3*3隣接フィルタ(最大値)
3*3隣接フィルタ(最小値)
ラプラシアン
ソベル

すべて試していませんが、良くできていますね。


参考URL
参考にさせていただきました。
ありがとうございます。

http://www.kkaneko.com/rinkou/r/rimage.html
http://d.hatena.ne.jp/Artisan/20110802/1312255649
http://rwiki.sciviews.org/doku.php?id=tips:graphics-misc:display-images&s=jpeg#rimage_and_readimages
http://d.hatena.ne.jp/yatt/20100126/1264510741