「XnConvert」という画像一括処理ソフトがある。
これは数百枚あるJPGを一括でPNGに変えたり、一括でリサイズ(画像サイズを80%に縮小するとか)するとか、一括でレタッチ、カラー情報が入ってるPNG(24bit)をグレースケール(8bit)に減色してファイルサイズを減らす、とか、とにかく一括処理することに長けたフリーソフト(企業で使う場合ライセンス料がかかる)で、写真の枚数が多いほどこのソフトの恩恵は大きくなる。
実際「Photoshop」にもバッチ機能があり、リサイズ・解像度変更・画像加工などできるが(サブフォルダも使えるとはいえ)フォルダ指定であり、ドラッグ&ドロップで任意のファイルを処理できる「XnConvert」の方が簡単で楽である。
このソフトは何もオプションを設定しなければ1スレッドで処理しようとするので、特にカラーを処理するときにはファイルサイズが大きいので凄まじく時間がかかる。
しかし「出力」オプションで”使用するCPUコア”という項目があり、ここで使用コア数をCPUの最大スレッドまで(8C16Tなら16)設定してやると爆速で処理してくれてとても便利である。
しかしこれは罠でもある。
普通にチェックを入れて処理させようとすると、
こんな風に
「使用するCPUコア設定が不可です。'Ask'モードやマルチページPDFファイルが使用できません。」
というメッセージでエラーになってしまう。そしてASKってなんだよと解決方法が見いだせず結局シングルスレッドで処理させてしまう。がこれをマルチ処理させる方法がある。
ZIPで出力する
これが解決方法である。つまり同じフォルダに変換後の画像を入れて元の画像はゴミ箱に捨てて互換というやり方はできないし、フォルダを変えてファイル出力してもダメである。
出力種類は他にもあるが、実データが保存先にできることを考えるとZIPが安心だろうと思う。そこは需要に応じで差配していただきたい。
これによって私の8C16TのCPUを100%使って(80℃まで上がりながら)すさまじい勢いで処理してくれる。今までシングルだとなんだったのか、とか、PNGの圧縮設定をデフォルトの4から6に変えただけでも糞遅かったのに、とか考えることがあるが、処理速度が速いのはとても気持ちいい。シングルスレッドではオプションで早い遅いの違いが結構出ていたが、この処理速度は1ファイル1秒もかからない。
すさまじいデメリットとして日本語でファイル名を入力しているとアンダーバーに変えられてしまう。
なのでZIPを見たらなぜか入力できないはずの半角?でファイル名が表示されている。例えば「雪、窓辺、無音にて。_001」だと「??????????_001」と表示されており、これを解凍すると「___________001」となってしまい、こんなものがZIPにちゃんぽんされているので何のデータか分からなくなってしまう。
元ファイルの削除にチェックを入れているとその後のリネームに手間がかかるので手元に置いておいた方が良い。捨てるのはファイル名を直し終わってからでいいだろう。半角英数字なら問題ない。
またZIPで保存するということは1個の巨大なデータをつくるということでもあるので、保存先の容量は十分に確保しておくことを忘れてはならない。また画像変換は爆速だがZIPに圧縮する工程がある関係で秒で終わるというわけではない。そこを勘案しても高速処理されているのは見ていて気持ちいいし、これまで費やした時間を考えれば革新的でもある。
ぜひ試していただきたい。
直倫 https://www.xnview.com/en/xnconvert/
とマルチスレッドで処理する方法を紹介したが、実際シングルスレッドの方が都合がいい場合もある。シングルスレッドでは複数のファイルパス(別々のフォルダ・ドライブなど)を一括で処理できるし、そもそもスレッドを1しか使わないのでCPU使用率をなんら圧迫しない。なのでバックグラウンドで処理させて他の作業をするのに何も抵抗を感じないのだ。
正直一長一短かもしれない。
追記
コメントが来たので確認したが、他にいじってなかった「ファイルがすでに存在するとき→[確認する]」を[スキップ]に変更するとマルチコアで処理してくれるようだ。
確認スキップしたら変換前と変換後が二重になるかもしれないと思ったが、「元画像を削除」のチェックがあれば変換後だけが残るのでそこの心配もいらないようだ。