Home New Help Edit

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

->

Home New Help Edit
2008-05-13 13:53:17 32400