ImageMagickで四苦八苦

今週は、本業の画像認識の技術実験で必要になったので、400枚近くあるbmp画像の解像度を荒くするお仕事に取り組んでいました。

画像の解像度を荒くするっていうのは、たとえば元の画像で4画素だったのを1画素にするってこと。で、ご丁寧に画像ごとに変換倍率がまちまちというオマケ付き。それも非整数倍ね。

こんなのGimp etc.のGUIツールなんかでやってらんねーということで、Python使ってコンピュータ殿にゴリゴリやって貰う方法を探しました。候補は、Python拡張ライブラリのPIL、それから有名どころのImageMagicK。PILは変換後の画質がいまいちだったのでImageMagicKに決まり。

ImageMagicKのconvertコマンド、compositeコマンドを使ってごにょごにょ。

・・・おいっ、勝手に1画素のビット数を変えるなよ。8ビットでいいんだって。
・・・だからさぁ、圧縮フォーマットに変換したら使えないでしょ。

なかなか言うことを聞いてくれません。

四苦八苦の末、コマンドオプションに"-colors 256 -compress None"を追加して無事解決。でも、compositeコマンドだと効果なしなのね。MS-Windows上でやってるのが悪いのかな?

ん!自前で画像変換のプログラムを組んだ方が速かったかも。AHA!