その漫画自炊オタクはImageJマクロに恋をする

プログラミングを用いた、自炊漫画の画像処理

コントラスト・濃度を調整するMacro

f:id:yu3xx:20200624023926j:plain

 

指定したフォルダ内の、カラーページを除いた全てのグレースケール画像のコントラスト・濃度(明るさ)を調整するマクロです。

 

 

//Contrast_Adjust.txt

//Folder setting
showMessage("Select Open Folder");
openDir = getDirectory("Choose a Directory");
showMessage("Select Save Folder");
saveDir = getDirectory("Choose a Directory");
list = getFileList(openDir);

//Enter min and Max
min = getNumber("Min (0-255):", min);
max = getNumber("Max (0-255):", max);

//JPEG quality
quality=90;
run("Input/Output...", "jpeg=quality gif=-1 file=.csv save_column save_row");

rejectCounter=0;//rejected color images

//Operation
for (i=0; i<list.length;i++){
	open(openDir+list[i]);
	
	//Progress
	print(i+1,"/",list.length,"...Progress=",floor((i+1)/list.length*10000)/100,"%");
	
	depth=bitDepth();
	if (depth==8) {
		setMinAndMax(min, max);
		run("Apply LUT");
	}else{
		rejectCounter++;
	}
	name=getTitle();
	dotIndex=lastIndexOf(name,".");
	title=substring(name,0,dotIndex);
	newname = title+".jpg";
	rename(newname);
	saveAs("Jpeg", saveDir+newname);
	close(newname);
}
print("min=",min,", Max=",max);
print("Rejected Color Image=",rejectCounter);
print("oshimai");

 

自炊スキャナとしてお馴染みのScansnap ix500は若干コントラストが弱い設定となっているようなので、Scansnapを使用している場合はコントラストを強めてパキッとさせると、良い感じになると思います。

 

 

コードの内容

①作業の対象となるOpen Folderと、保存先となるSave Folderを指定。

コントラスト・濃度を調整するための[min]と[Max]を入力。

③画像を順番に開いていき、画像がグレースケール(8bit)だった場合、コントラスト・濃度調整。 

④元々と同じファイル名でJPGとして保存。

 

 

適当なminとMaxの決め方

マクロを走らせる前に、あらかじめどれぐらいの値が良いのかを実際に試して調べておくと良いです。

 

試し方は上部タブ[Image]→[Adjust]→[Brightness/Contrast]で調整ウインドウを起動。

f:id:yu3xx:20191227015735p:plain

Brightness/Contrast調整ウインドウ

[Minimum]と[Maximum]を上下させて、お好みのコントラスト・濃度に調整し、その時の[Minimum]と[Maximum]を、マクロの[min]と[Max]に入力してください。

 

[Brightness]と[Contrast]は、[Minimun]と[Maximum]を変えると勝手に変わります。[Brightness]と[Contrast]をいじるとかえって分かりづらくなるので触れなくてOKです。

 

私がやっている合わせ方は、

 

①まず[Max]を少しずつさげて、日焼けの部分を含んだ白い背景の部分が「真っ白」に白とびするギリギリが適当な[Max]。

 

②次に、[Max]は見つけた適当な値のまま、今度は[min]を少しずつ上げて黒ベタの部分がほどよく「真っ黒」になるところが適当な[min]。

 

f:id:yu3xx:20200623221401j:plain

画像引用)手塚治虫, 火の鳥, 秋田トップコミックスW復活編/羽衣編/望郷編, 389ページ, 秋田書店, 2015

 

 

ちなみに、「縦線ノイズ自動検出・補正Macro」を使う際には、黒ベタを完全に「真っ黒」にすると上手くいきやすいです。

 

 

マクロの起動方法

①ImageJ上部タブの[Plugins]→[New]→[Macro]で起動したエディタに、記事の一番上のコードをコピペしてtxtファイル(Contrast_Adjust.txt)を作成・保存する。

 

②保存したファイルをImageJフォルダ内の[plugins]フォルダにしまう。

 

このとき、[plugins]フォルダの中に新たに適当な名前のフォルダを作って、その中にしまってもOKです。ここでは仮に「自炊」というフォルダにtxtファイルを突っ込んだとします。

 

③一度ImageJを再起動すると、マクロがインストールされ、起動準備OK。

 

④上部タブ[Plugins]→[自炊]→[Contrast Adjust]でマクロが実行されます。

 

 

imagej-jisui.hatenablog.com

 

注意

ImageJはPDFファイルをサポートしていないので、PDFで自炊している方はあらかじめ全てのファイルをJPGに直しておいて下さい!

 

Macの方はデフォルトでインストールされている「Automator」を使用するとJPGに直すことが出来ます。

imagej-jisui.hatenablog.com

 

 

 

 

ライセンスなんかは一切無いので、ぜひぜひ自由に使ってみてください!

 

imagej-jisui.hatenablog.com