Adobe Generic Image Library(GIL)を使ってみる
2007年4月6日
Suns & Moon Laboratory
概要
ちょっと画像処理をしたくなったので、物色した所面白そうなの発見。
Adobe Generic Image Library (GIL)
プレゼンテーションを見ると、なんか使ってみたくなります。
とは言うもののテンプレートを使った事ないんですが...ま、勉強しましょう。
インストール
結構面倒でした。setup.exe一個でインストールしたいものです<軟弱
zlib
幸いバイナリがあったので、それを使用する。
Zlib for WindowsのDeveloper files(zlib-1.2.3-lib.zip)を落とす。
libpng
libpng Home Pageからソース(lpng1216.zip)をダウンロード。
PNGを読み込む(VC++でlibpngを使用する)を参考にしてコンパイル。
VisualC++2005Expressでコンパイルしました。
ちなみにzlib絡みのファイルは、同じソースフォルダに突っ込んでおきます。
そして、1箇所変更。
zconf.hの287行目
#if 1 /* HAVE_UNISTD_H -- this line is updated by ./configure */
↓どうもunistd.hは無いっぽいので、0に変更
#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */
libjpg
http://www.ijg.org/files/からソース(jpegsrc.v6b.tar.gz)をダウンロード。
どうしてもVisualC++2005でコンパイルできなかったので、VisualC++6.0でコンパイル
vcvars32
copy jconfig.vc jconfig.h
copy makelib.ds jpeg.mak
copy makeapps.ds apps.mak
nmake /f makefile.vc
boost/gil/lib/libjpgに丸ごと入れる。
boost
http://www.boost.org/からboost_1_33_1.zipをダウンロードして、単純に展開
Adobe GIL
http://opensource.adobe.com/gil/download.htmlからgil.zipをダウンロードして展開すると、boostとlibsが出来るので、そのままboostのフォルダに移動。
numericもサンプル実行に必要なので、boost/gil/extensionに入れる。
サンプルの動作確認
VisiaulC++2005Expressでコンパイル。
!こんなエラーが出る
1>libjpeg.lib(jerror.obj) : error LNK2001: 外部シンボル "__iob" は未解決です。
プロジェクトプロパティ->構成プロパティ->C/C++->コード生成->ランタイムライブラリが、マルチスレッドDLL(/MD,/MDd)になっていたので(?)、マルチスレッドに変更する。(/MT,MTd)
!!またもエラー
1>LINK : fatal error LNK1104: ファイル 'LIBC.lib' を開くことができません。
プロジェクトプロパティ->構成プロパティ->リンカ->入力->特定のライブラリの無視にLIBC.lib追加。
参考 http://www5b.biglobe.ne.jp/~u-hei/vcexpress_settings/
サンプル一覧
resize
->
affine
->
convolution
->
mandelbrot
interleaved_ptr
->
x_gradient
->
histogram
-> out-histogram.txt
packed_pixel
->
dynamic_image
->
2024-08-14 11:00:22 32400