省型旧形国電の残影を求めて

戦前型旧形国電および鉄道と変褪色フィルム写真を中心とした写真補正編集の話題を扱います。他のサイトでは得られない、筆者独自開発の写真補正ツールや補正技法についても情報提供しています。写真補正技法への質問はコメント欄へどうぞ

ImageJ / Python プログラミング Tips: ColorProcessor 塗潰し色の指定

 ネット上の ImageJ スクリプトプログラミングのサンプルプログラムでは単チャンネル・モノクロ画像における塗潰し色の指定の方法は、よく見かけますが、24bit (3 x 8bit) の ColorProcessor における、塗潰し色を指定するサンプルプログラムはほとんど見かけません。

 単チャンネル画像の場合、setValue メソッドを使い、塗潰す明度を数値で指定しますが、ColorProcessor においては setValue メソッドだと正しく色を指定することができません。

 その代わり、setColor メソッドを使います。但し、setColor メソッドで色を指定する場合は、ライブラリとして java.awt.Color を読み込んでおく必要があります。

 以下、簡単な、100 x 100 の カラー画像に色を指定して塗潰すサンプルプログラムです。R: 255, G: 0, B: 255 を指定して塗潰しています。

 さらに、一旦描画した後、renew ボタンを押すと、R: 0, G: 255, B: 255 に塗り替えます。

-----------------

from ij import IJ, ImagePlus
from ij.process import ColorProcessor
from java.awt import Color

ip = ColorProcessor(100, 100)
ip.setColor(Color(255,0,255))
ip.fill()
impColorSample = ImagePlus("Color Sample", ip)
impColorSample.show()
IJ.showMessage("renew")
ip.setColor(Color(0,255,255))
ip.fill()
impColorSample.updateAndDraw()