• ベストアンサー

Image Magick で質問です。

Image Magick で質問です。 現在bmpの画像を20枚ほどcompositeで合成しています。 しかし、この合成が、非常に時間がかかるため、高速化する方法を探しているのですが、 どなたかご存知ありませんでしょうか。 何卒よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kei2suke
  • ベストアンサー率100% (1/1)
回答No.4

ファイル名が変でしたね。GraphicsMagickで実行したコマンドは次のとおりです。 <GraphicsMagick> #time gm composite -geometry +0+0 item.gif base.jpg out.jpg

tahke
質問者

お礼

今更ですが、 アプリが終了したので、 必要なくなってしまいました。 ありがとうございました。

その他の回答 (3)

  • kei2suke
  • ベストアンサー率100% (1/1)
回答No.3

No.2です。 同じく高速化で悩んでおりますが、ImageMagickではなく、その派生ソフトウェアである GraphicsMagickを使うことはできますでしょうか? OS環境を自分で更新できる場合は、検討に値すると思います。 合成処理をtimeコマンドで比較してみたところ、速度面では7,8割増の性能を得ました。 20回繰り返してないですが、参考までに結果載せておきます。 例:480x500の画像ファイル(Base.jpg 16bit)にい250x250(item.gif)を合成(out.jpg)しています。 <ImageMagick> #time convert base.jpg item.gif -geometry +0-0 -composite out.jpg real 0m0.181s user 0m0.443s sys 0m0.025s <GraphicsMagick> #time gm composite -geometry +0+0 ../creatures/fish_02.gif 100/1suiso8-1.jpg convertTestGM01.jpg real 0m0.103s user 0m0.251s sys 0m0.012s 参考になれば幸いです。

tahke
質問者

お礼

お返事遅くなり申し訳ありません。 GraphicsMagickですか、 先ず検索して最初が英語だったので、 なかなか取り掛かるのに時間がかかるかもしれません。 ですが、貴重なご意見ありがとうございます。 時間を見つけて試したいと思います。 ありがとうございます。

  • kei2suke
  • ベストアンサー率100% (1/1)
回答No.2

経験者のお答えを提供できなくて申し訳ありませんが、 近い将来、tahkeさんと同じようなことをやりたいので、調査してみました。 サーバの管理者権限がないとできないようなことばかりです。 すでに知っていることであれば、ごめんなさい。 1.バージョンをあげる。 最新版は、6.6.2です。 以下のコメントを見ると、バージョンアップでパフォーマンスも向上しているようです。 http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=15876&hilit=performance&start=15 >As mentioned, color reduction is more sophisticated in 6.6.0 so it takes a bit longer. For 200 iterations of resizing, color reduction, and generating a GIF image sequence, version 6.2.8 took 32 seconds elapsed, whereas 6.6.0 took 41. If we eliminate color reduction, 6.2.8 iterates 200 times at 8.3 seconds elasped, whereas ImageMagick 6.6.0 takes 6.4 seconds. 2. Q8のバージョンをインストールする。 >http://tsupo.seesaa.net/article/109179181.html >QuantumDepth=8バージョン(Q8)は業界基準の24/32ビットピクセルを提供します。 >通常はこのQ8バージョンで十分です。 もう一方のQuantumDepth=16バージョン(Q16)は、 >48/64ビットピクセルの高画質カラーを提供します。 Q8はQ16に対してメモリ使用量は約半分、 >CPU消費量は30%程度少ないです。 >学術・医学的な目的で使用する場合、高精度のQ16を選択すれば良いでしょう。 3.その他 あと、imagemagickでより詳しいことを質問したいのであれば、 本家(英語ですが)のコミュニティがありますので、そこで質問するとすぐ 解答してくれるかもしれません。 http://www.imagemagick.org/discourse-server/index.php 「OpenMPを切った方がよい」みたいなことが多く結構言われていますが、 マルチコアなサーバでは、並列化して実行しているみたいなことを言われているので 切らなくてもよいのだと思うのですが、この辺はごめんなさいわかりません。 というか、むしろ自分に教えてほしいところです(笑 以上です。

参考URL:
http://www.imagemagick.org/discourse-server/index.php
tahke
質問者

お礼

お返事遅くなって申し訳ありません。 同サイトのそのほかの事に追われておりました。 お返事ありがとうございます。 バージョンアップ、Q8、試してみたいと思います。 ただ、サイトをとめないと難しいような気がしますので、 いつになるかわかりませんが。。。 本家英語は英語ができないので難しいかもです・・・ ありがとうございます。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

現状がわからないことには、誰にも答えようがないと思いますよ。 ・実際の時間 ・compositeに渡す引数 ・BMPの大きさ ・合成する画像 ・実行しているコンピュータの性能 ・Imagemagickのバージョン 等々 あなたが「非常に時間がかかる」と感じるその時間が、現状での最高速かもしれませんし。 別の考えとして、その作業をする頻度も考慮してください。 1回しかしないのなら、ここで答えを待つ間に、compositeの作業が終っていることでしょう。

tahke
質問者

補足

お返事ありがとうございます。 現在合成にかかる時間は約5秒~10秒ほど 引数は"-transparent #c0f0ff -gravity northwest -geometry +{座標X}+{座標Y} -composite" ビットマップサイズは 200×240のものに、最大同サイズ、最小30×30ですね。深さは8bitです。 コンピューターの性能はちょっとちゃんとわからないんですよね。 バージョンは6.2.8ですかね >現状での最高速かもしれません だとしたら、僕としては終わりです。サイトとして機能しなくなること請け合いなので・・・ だから「困って」ここに質問してるんですが。 >その作業をする頻度も考慮してください。 たくさんのユーザーが何度も実行します。 だからこそ速くしたいのです。 できれば、高速化のテクニックやTips的なことを教えていただけるとうれいです。

関連するQ&A