2025/07/01(火) [n年前の日記]
#1 [imagemagick] ImageMagickで連番画像の画像フォーマット変換をしたい
tgaフォーマットで保存された連番画像を、png画像に変換したい。
Windows10 x64 22H2 + ImageMagick 7.1.1-26 Q16-HDRI x64 で試してみる。
ImageMagick は、コマンドラインで画像に対して色々な処理ができるツール。その、ImageMagick の中に含まれている、mogrify というツールを使えば、複数の画像に対して一気に処理ができる。
_ImageMagick - Command-line Tools: Mogrify
_ImageMagick の PNG オプション ImageMagick - Qiita
余談。自分の環境特有の話。自分のメインPC上では、普段 ImageMagick に PATH を通していないのだけど、D:\home\bin\im7.bat を実行すれば PATH に追加されて、ImageMagick (magick.exe) が利用できるようになる。とメモしておく。
さておき。tga から png への変換は以下。
昔の mogrify は、「元画像を上書きするからバックアップ必須」と言われていた気がするのだけど、今回試したら png 保存後も tga がそのまま残っていた。別の画像フォーマットへの変換だから、元画像も残してくれるのだろうか…?
1280x720、240ファイルのtga連番画像 (633.75MB) をpngに変換してみた。環境は、AMD Ryzen 5 5600X、RAM 32GB。
3倍の処理時間がかかって、1%程度しかファイルサイズが変わらないのであれば、デフォルト値で変換してしまったほうが良さそう…。
ちなみに、連番画像群を UtVideo RGB codec の avi にしてみたところ、279.05 MB になった。どうやら Lossless (可逆圧縮) のビデオコーデックで avi にしてしまうのが、一番容量が減るようだなと…。しかも1ファイルで済むから管理も楽だし…。
Windows10 x64 22H2 + ImageMagick 7.1.1-26 Q16-HDRI x64 で試してみる。
ImageMagick は、コマンドラインで画像に対して色々な処理ができるツール。その、ImageMagick の中に含まれている、mogrify というツールを使えば、複数の画像に対して一気に処理ができる。
_ImageMagick - Command-line Tools: Mogrify
_ImageMagick の PNG オプション ImageMagick - Qiita
余談。自分の環境特有の話。自分のメインPC上では、普段 ImageMagick に PATH を通していないのだけど、D:\home\bin\im7.bat を実行すれば PATH に追加されて、ImageMagick (magick.exe) が利用できるようになる。とメモしておく。
> im7 Enabled ImageMagick7. Add Path : [D:\Prog\ImageMagick-7.1.1-26-portable-Q16-HDRI-x64] > magick --version Version: ImageMagick 7.1.1-26 Q16-HDRI x64 83eefaf:20240107 https://imagemagick.org Copyright: (C) 1999 ImageMagick Studio LLC License: https://imagemagick.org/script/license.php Features: Channel-masks(64-bit) Cipher DPC HDRI OpenCL OpenMP(2.0) Delegates (built-in): bzlib cairo freetype gslib heic jng jp2 jpeg jxl lcms lqr lzma openexr pangocairo png ps raqm raw rsvg tiff webp xml zip zlib Compiler: Visual Studio 2022 (193732826)
さておき。tga から png への変換は以下。
magick mogrify -format png *.tga magick mogrify -format png -quality 90 *.tga
- -quality を指定すると圧縮率を指定できる。
- pngの場合、10の桁が圧縮レベル、1の桁がフィルタ種類。
- デフォルト値は75、圧縮レベル7、フィルタ種類 libpng adaptive になっているらしい。
昔の mogrify は、「元画像を上書きするからバックアップ必須」と言われていた気がするのだけど、今回試したら png 保存後も tga がそのまま残っていた。別の画像フォーマットへの変換だから、元画像も残してくれるのだろうか…?
1280x720、240ファイルのtga連番画像 (633.75MB) をpngに変換してみた。環境は、AMD Ryzen 5 5600X、RAM 32GB。
- -quality 75 (デフォルト設定) では 1分12秒かかった。合計 307.78 MB。
- -quality 90 では 3分22秒かかった。合計 305.33 MB。
3倍の処理時間がかかって、1%程度しかファイルサイズが変わらないのであれば、デフォルト値で変換してしまったほうが良さそう…。
ちなみに、連番画像群を UtVideo RGB codec の avi にしてみたところ、279.05 MB になった。どうやら Lossless (可逆圧縮) のビデオコーデックで avi にしてしまうのが、一番容量が減るようだなと…。しかも1ファイルで済むから管理も楽だし…。
◎ 別ツールも使用してみた :
XnConvert Portable 1.105.0 もインストールして変換処理をしてみた。
_XnConvert Portable | PortableApps.com
_XnConvert のダウンロードと使い方 - k本的に無料ソフト・フリーソフト
Windows環境なら、XnConvert を使ってしまうのが良さそうな気もする。
_XnConvert Portable | PortableApps.com
_XnConvert のダウンロードと使い方 - k本的に無料ソフト・フリーソフト
- GUIで作業できるので使いやすい。
- プログレスバーも表示されるので、どのくらい処理が進んでいるのかも分かりやすい。
- tga から png への変換もできた。
Windows環境なら、XnConvert を使ってしまうのが良さそうな気もする。
[ ツッコむ ]
以上です。