今回はMaya付属ツールを使ったバッチ画像変換スクリプトについてです。

MayaにはFCheckやMayaBatchといった幾つかの補助ツールが付属していますが、その内の一つにimgcvtというツールがあります。

imgcvtは、コマンドラインから実行するタイプの画像変換ツールで、Mayaで使用する様々な種類の画像形式を相互に変換することができます。

今回はこれを使って、画像の一括変換をします。

スクリプト仕様

  • Maya付属ツールを使ったスタンドアロンPythonスクリプト
  • バッチファイルを作成し、ダブルクリック又はイメージのドラッグ&ドロップで起動
  • ダブルクリックで起動した場合は、同じフォルダ内の全てのイメージを変換
  • ドラッグ&ドロップした時は、ドロップされたイメージを変換
  • 変換を実行する拡張子はスクリプト内で指定する
  • 変換先の拡張子もスクリプト内で指定
  • 変換された画像は、拡張子と同じ名前のフォルダに保存される
  • 既に変換された画像がある場合は、タイムスタンプを比較して新しければ実行する
  • 必ず、Maya binフォルダに環境パスが通っている必要がある
パスの通し方については、ネットで調べれば簡単に見つかるので、各自調べてください。
無事パスが通っていれば、コマンドプロンプトから imgcvt -h コマンドで、imgcvtのヘルプが表示されます。

ダウンロード

ImageConvert Ver1.01

更新履歴
Ver1.01
  • 変換元画像形式を複数指定した時にエラーが発生する問題の修正
Ver1.00
  • 公開

使い方

ダウンロードしたzipファイルを解凍し、同じフォルダに置いてください。
maya/bin へパスが通っていれば run.bat をダブルクリックするだけで実行できます。

実行時は run.bat と同じフォルダにある全ての画像を一括で指定形式に変換します。
また、任意の画像を run.bat へドラッグ&ドロップしても変換する事ができます。
その場合はドロップした画像だけが変換されます。

Windows以外でも実行することはできますが、バッチファイルはこちらでは作りようが無いので、各自で自前のバッチを用意する必要があります。

変換する画像の種類はスクリプト内に直接指定します。
# -*- coding: utf-8 -*-
import os
import sys
import re

# Settings.
fromExts = ['tga', 'jpg', 'png', 'tif', 'bmp']
toExt = 'png'

# ~ 以下略 ~
fromExts
変換を行うファイル拡張子の一覧
変換可能なファイル形式はimgcvtのヘルプ参照。
(コマンドプロンプト内でimgcvt -hと打つと表示されます)
toExt
変換後のファイル拡張子
同じく変換可能な拡張子はヘルプ参照
このスクリプトの利点は詳細な動作を簡単にカスタマイズ出来る点、Mayaが入ったマシンならどんなマシンでも実行できる点等があります。
操作がシンプルなので決まった繰り返し作業で便利です。

私自身はメモリマップファイル(.map形式)への変換に利用していますが、ファイル変換のためだけにわざわざツールを起動するのが面倒という人にはオススメです。