[mixi] 仕事メモ

#書くところ無いのでココにメモ(;´∀`) #(一般の方から見ると)仕事のかなり濃い話なので、 #1行目で分からない場合はそのままスルーしてください。

ImageMagickが激重なため、Linuxで動作する良い画像処理ライブラリ、ソフトを探してるのだけど見つからなくて困っているの図。嗚呼、何だかCでlibjpegのAPI引っ張り出した方が手っ取り早い気が...(それはそれで悪夢)

サーバサイドの話

Epeg で JPEG ファイルのサムネイルを高速に生成する

http://0xcc.net/blog/archives/000096.html ImageMagickJPEGの入力を行った場合でも、内部でビットマップ化する(らしい)ため大量のメモリを消費するが、Epegの場合、libjpegのC APIを呼び出し良い感じで加工するのでメモリを食わない&速いらしい。大きなサイズの画像→大きなサムネイルを作ると粗が目立つらしい(未確認)

EpegをPerlから呼び出すIF。

とりあえずこっちに切り替えるか?軽くなりそう。 合成処理が結局ImageMagickだよりになるのを何とかしたいんだけどなぁ。 http://search.cpan.org/~mcurtis/Image-Epeg-0.07/Epeg.pm

追記

Epeg入らねぇーー。 makeでこけるんだよなぁ。家サバでも会社サバでも。うがー。

Imlib2

http://0xcc.net/diary/20040403.html 良いらしい。 ImageMagickの10倍(!)くらいのスピードが出るそうな。 メモリ使用量はどんな感じなんだろう?

JPEGファイルの入出力

http://www.syuhitu.org/other/jpeg/jpeg.html jpeglibの使い方。C++かな? データ型とかわかりやすくなっとるが、めんどそう(;´∀`)

CImg

http://scientre.jp.land.to/2006/06/26/3 C++。内部でImageMagickを呼び出してるっぽい(;´∀`)

GD

http://perldoc.jp/docs/modules/GD-2.02/GD.pod GDで試してみるという選択肢もあるが...。 ImageMagickの二の舞の気がするなぁ。

追記

JPEGが24ビット形式で、GDは8ビットであることに気を つけてください。つまり写真のような画像がポスタライ ズされてしまうということです。

ダメだ(;´∀`)

openCV

http://nautilus.cs.miyazaki-u.ac.jp/~yoshi/pukiwiki/index.php?OpenCV%A5%E1%A5%E2 http://www-cv.mech.eng.osaka-u.ac.jp/~hamada/openCV/ http://www.hc.ic.i.u-tokyo.ac.jp/~kitamura/wiki/ (↑OpenCVについてのまとめ) とりあえずメモ。 いつか使うかも。

クライアントサイドの話

理想はローカルで画像の縮小などすべてを行って、全部が終わった時点で必要なファイルだけをアップロードしてくれる仕組み。 ※帯域食いそうだ。

Javaアプレット

ローカルファイルにアタッチできないとすると、

  • 画像をブラウザ経由でサーバにアップロード。
  • アプレットダウンロード&起動。
  • アプレットがサーバから画像を自動的に取得。
  • 加工後、再アップロード。

重そうだけど、この流れにせざるを得ないか...。

ActiveX

Windowsユーザーのみだが、msnっぽい感じで画像の操作がローカルでできそうな気がする。ってか、ローカルで動くアプリを一本作ることにするってことだなぁ、これは。