TIFF 16bitカラー画像を8bitカラーにバッチ処理する2013年06月13日 00時00分00秒

ちょっと早いのだが、明日の分を更新。アサブロにもcocolog-niftyみたいに予約投稿があるといいんだけどなぁ。さて、いつもフィルムをスキャンするときは画像はまず16bit(48bit)でスキャンしてTIFFで保存している。ブログに載せるものはその16bit TIFF画像を8bitのJPEGに変換してリサイズしたものである。また、日常閲覧する画像ホルダーにも8bit(24bit)JPEG画像(長辺3200ピクセルぐらい)にして保存している。

Windows XP Professional SP3を使っていたときは、16bit(48bit)のTIFFを8bit(24bit)のTIFFにするのに、Nikon Capture4のバッチ処理を使っていた。ところがSONYのICレコーダーをUSB端子に挿したまま再起動したところOSが破壊されてしまった(SONY ICレコーダーをUSBポートに刺したまま再起動したらWindowsが起動しなくなった ― 2013年01月04日)ので、結局ハードウェアは同じままOSをWindows 7 Professional SP1 64bitにして今日に至っている(DELL VOSTRO 430にWindows7 PRO SP1 64bitをインストールした ― 2013年01月05日)。

ところが、Nikon Capture4はWindows7にインストールできないのであった。Photoshop Elementsでも16bit(48bit)のTIFFを8bit(24bit)のTIFFにすることは可能なのだが、1枚1枚手動でしか変換できない。Photoshop Elementsの「複数ファイルをバッチ処理」の対象ファイルは8bit(24bit)に限られていて、これは最新版でも同じということだ。Photoshop CSとの差異化なのだろう。

それでNikon Capture4の後継であるCapture NX2なら16bit(48bit)のTIFFを8bit(24bit)のTIFFにバッチ処理できるのか調べようと思ったら、うちに入れてあるCapture NX2のトライアル版は試用期間が過ぎていて試せない。一か八かで買うのも値段を考えるとどうかと思う。もう1台のPCにCapture NX2のトライアル版を入れて試すことも考えたがそれも面倒だ(使わないソフトをインストールするとPCの起動・終了が遅くなるので嫌だ)。

検索すると、ImageJというアメリカ国立衛生研究所 (NIH) で開発されたオープンソースでパブリックドメインの画像処理ソフトウェアを使うと16bit(48bit)のTIFFを8bit(24bit)のTIFFにバッチ処理できるらしい。
16 bit-TIFF→8 bit-TIFF自動変換(研究者のためのコンピュータフォーラム)

さっそく http://rsbweb.nih.gov/ij/ からダウンロードしてImageJをインストールした。ところが先のページに書いてあるマクロを実行すると48bitカラーのTIFFが8bitのグレースケール画像に変換されてしまう。しかも明暗が反転している。要するにモノクロネガ状態になってしまう。

調べてみるとマクロの中で指定されているコマンドの「8-bit」というのは、8bitグレースケールで反転してしまう処理のことらしい。

さらに調べると「RGB Color」というコマンドが自分のやりたい16bitカラーTIFF画像を8bitカラーTIFF画像に変換するコマンドのようだった。
ImageJマニュアル:Image(画像)メニュー参照。

それで、マクロを以下のように書き換えた。

macro toRGBColorconv {
 setBatchMode(true);

 dir = getDirectory("Choose a Directory ");
 dirRGBColor = dir + "/RGBColor/";
 File.makeDirectory(dirRGBColor);
 list = getFileList(dir);
 myListLength = lengthOf(list);
 for (i = 0; i < myListLength; i++) {
 if (endsWith(list[i], "/")){
 } else {
 open(dir + list[i]);
 run("RGB Color");
 print(list[i]);
 save(dirRGBColor + list[i]);
 close();
 }
 }
 showMessage("DONE")
 setBatchMode(false);
 }

上記をテキストエディタにコピーして名前を付けて保存する(私は24bitHenkan.txtにした)。

その後、ImageJのPluginsからMacrosの中のRun...を選択、保存したテキストファイルを選択してください。 そうすると、もう一度フォルダ選択になりますので、16ビットのtifファイルをまとめたフォルダを選択してください。

http://www.kenkyuu2.net/cgi-comp/compforum.cgi?mode=view;Code=435

そうすると指定したTIFFファイルのあるフォルダ(ディレクトリ)に「RGBColor」というフォルダができていてそこに8bitカラーのTIFF画像ができている。もとの16bitカラーのTIFF画像はそのまま残っている。

バッチ処理でJPEGにするには、この8bitカラーのTIFF画像フォルダを対象にPhotoshop Elementsで「複数ファイルをバッチ処理」すればよい。ああすっきり。

Google
WWW を検索 haniwa.asablo.jp を検索
asahi-net.or.jp/~sp5j-hys/ を検索