R rimageOnWindows - eiichiromomma/CVMLAB GitHub Wiki
R) rimage on Windows
(Windows環境でのrimage
libjpegとlibfftw(2.x)依存なのでLinux環境のみがデフォルト
問題点
get_imagesize_of_JPEG_file関数を使ってjpegを読み込む際にヘッダサイズが構造体内の表記と異なると怒られていた。
Wrong JPEG library version: library is 70, caller expects 62
0,0
のようなエラー。
jpeg-6bとMinGWの相性の問題かも?
と言う訳でVer.7を使うのだが、rimage内に6bのヘッダファイルが有るのでそれを上書きしてしまう。
MinGW/MSYSをインストール
そこらの解説サイト参照。
MinGW\bin;msys\1.0\binとRのbinフォルダをPATHに加えておく。
MSYS上でibjpegとfftwをインストール
libjpegはIndependent JPEG Group からjpegsr7.zipを拾ってくる。 展開して
./configure --prefix=c:/mingw --enable-static --enable-shared CFLAGS="-s -mms-bitfields"
make -j 4
make check
make install
fftwはFFTW Download Page で2.1.5のソースを拾って展開
./configure --prefix=c:/mingw CFLAGS="-03 -s -mms-bitfields"
make -j 4
make check
make install
でOK
ActivePerlのインストール
注意点はActivePerlのパスがMinGWやMSYSより前にあるようにすること。
パッケージのビルド、インストール
\tmpにrimageのソースを展開。 rimage\src\Makevars.winのPKG_LIBSの行を変更
PKG_LIBS= c:/MinGW/lib/libfftw.a c:/MinGW/lib/libjpeg.a
rimage\src内のlibjpeg関係をjpegsr7のものに置き換える。 具体的には
jconfig.h
jmorecfg.h
jpeglib.h
の3つ。
コマンドプロンプトを開いて
cd \tmp
Rcmd INSTALL --no-chm rimage
chmヘルプが欲しい場合はRToolsの配布サイトあたりをチェック。
動作確認
Rを起動して、
library(rimage)
plot(fftImg(read.jpeg(system.file("data", "cat.jpg)", package="rimage"))))
でFFTの結果が表示されればOK。