2007/02/27(火) [n年前の日記]
#5 [cg_tools][prog] 昔作った画像合成用のスクリプトが上手く動かなくなっていた。
_m256 Perlmagick Composite Utility
ってのを大昔に作ったのだけど、動かしてみたらプレビュー画像表示の際にエラーが。
表示用の作業ファイルの拡張子を、ppm から xpm にすると、プレビュー画像が出ることは出るけど。処理が遅い。異様に遅い。
とりあえず、一応修正してアップロードしておいた。 0.02 → 0.03 に修正。
Tk::Error: PPM image file "C:\hoge\fuge\hage/____m256pmcu_tmp2.ppm" has bad maximum intensity value 65535 at C:/usr/local/Perl/lib/Tk/Image.pm line 21. Tk callback for image Tk::Image::new at C:/usr/local/Perl/lib/Tk/Image.pm line 21 Tk::Image::__ANON__ at C:/usr/local/Perl/lib/Tk/Image.pm line 63 main::PreviewImageWindowToCanvas at C:\hoge\fuge\hage\m256pmcu.pl line 367 main::CompositePreview at C:\hoge\fuge\hage\m256pmcu.pl line 662 Tk callback for .frame1.frame2.button Tk::__ANON__ at C:/usr/local/Perl/lib/Tk.pm line 252 Tk::Button::butUp at C:/usr/local/Perl/lib/Tk/Button.pm line 111 <ButtonRelease-1> (command bound to event)合成結果プレビュー用 ppm ファイルの先頭のあたりをバイナリエディタで覗くと、「65535」なる値が ASCII で入ってる。なんだこりゃ。何にせよ、このスクリプトは、Active Perl 5.8.8 build 819 では問題があるみたいだな…。連番画像の合成処理自体は一応できるみたいなんだけど。
表示用の作業ファイルの拡張子を、ppm から xpm にすると、プレビュー画像が出ることは出るけど。処理が遅い。異様に遅い。
◎ ppm への変換時に depth を指定したら動いてくれるようになった。 :
$img[$kind]->Set(magick=>$ext); $img[$kind]->Set(depth=>'8');みたいな。色深度を指定しないとゴイスなカラーモードで出力してしまう、のかもしれん。判らんけど。
とりあえず、一応修正してアップロードしておいた。 0.02 → 0.03 に修正。
◎ Perl/Tk で扱える画像フォーマットって、本当に ppm/pgm/xpm/gif しかないのだろうか。 :
未だに他のフォーマットは扱えないのかしら…。せめて png とか使えんかな…。
そもそも、わざわざ Perl/Tk でやらなくたって、ImageMagick にファイル名を順々に渡していくスクリプトを作るだけでいいような気もする。まあ、当時は勉強も兼ねてやってたんだろうけど。>自分。
今は blender あたりで合成できるんじゃないのかな。オープンソース文化圏から、色々な動画編集ツールも出てきてるようでもあるし。GIMP + GAP でも出来たりするのかもしれん。メニュー等が英語だからさっぱり判らんけど。
そもそも、わざわざ Perl/Tk でやらなくたって、ImageMagick にファイル名を順々に渡していくスクリプトを作るだけでいいような気もする。まあ、当時は勉強も兼ねてやってたんだろうけど。>自分。
今は blender あたりで合成できるんじゃないのかな。オープンソース文化圏から、色々な動画編集ツールも出てきてるようでもあるし。GIMP + GAP でも出来たりするのかもしれん。メニュー等が英語だからさっぱり判らんけど。
[ ツッコむ ]
以上です。