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

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

GIMP 編集 Tips: 色域選択の様々な判定基準と、Photoshop の色域選択との違い

 GIMP の[色域を選択] 機能は、Photoshop における、[選択範囲 - 色域指定] と同等の選択機能です。本記事では両者を総称して[色域選択]とします。この両者は同等機能ではありますが、微妙に異なります。以下この違いにふれつつ、GIMP の色域選択の様々な判定基準について説明していきます。

 まず、GIMP の色域選択の位置ですが、デフォルト設定の場合、ツールボックスから該当のアイコンをクリックすることで、色域選択のダイアログが表示されます。

 

GIMP の [色域の選択] ダイアログ

■ Composit (総合判断)

 このうち Composit は、単純に編集画面上でクリックしたピクセルと類似色の部分を選択するものです。閾値を動かすことで近似色の範囲を広げたり狭めたりできます。

判定基準: Composit

 これは Photoshop の [選択範囲 - 色域指定] のうち [指定色域] と同等と思われます (全く同じアルゴリズムなのかどうかは分かりません)。こちらも編集画面上でクリックして、その部分のピクセルと類似色の部分を選択します。GIMP閾値とされているパラメータはこちらでは許容量となっています。パラメータの単位は異なるようですが、同等機能です。

Photoshop 指定色域 方式

 Photoshop にあって GIMP にないパラメータとして、カラークラスタ指定、というものがあります。これは Photoshop のオンラインマニュアルによるとクリックした場所から近いほどマスクの効果を上げ、遠ざかるほど下げるというパラメータのようです。その範囲も調節できます。

Photoshop カラークラスタを使った指定色域 選択

 これと同様なことを GIMP でやろうとすると、まず楕円選択を掛けて、さらに [選択] → [境界をぼかす] を使って楕円の選択範囲をぼかします。次いで、重複モードで色域選択 (Composit) を重ね合わせます。(下図)。

GIMP 楕円選択に 色域 Composit 選択を重ね合わせる

 なお境界をぼかすのを最後に行うと色域選択の境界までぼかされてしまいますので要注意です。そのため、楕円選択から始める必要があるのです。

 なお、GIMP の Composit 選択は、RGB 3チャンネルに基づくユークリッドの距離を使って色の類似範囲を決めているようです*1。おそらく Photoshop も同様と思われます。

■ 各チャンネル (赤、緑、青、アルファ) を使った判定基準

 Photoshop の色域選択には、指定ピクセルの類似色を選択する[指定色域]以外に、レッド、イエロー、グリーン、シアン、ブルー、マゼンタの各色域系に属するピクセルを範囲指定する方法が選べます。

Photoshop 色域系を使った色域選択

 この方法だと、編集画面からピクセルを選ぶことはできず、自動的にその色の系統に属するピクセルが選択範囲として指定されます。

 実はこの考え方は、私の開発した、相対RGB色マスク作成ツールと基本的に同じです。つまり、RGBの相対値に基づいて、相対的に赤や黄色の範囲を選択するというものです。

 私の相対RGB色マスク作成ツールを使って各色マスクを選択し、色の閾値 0, マスク透過度を 0.25 にすると Photoshop の上の方法で作成される選択範囲のㇷ゚レビュー画像と同じ画像が作成されます。

Photoshop でブルー系を選択したプレビュー画面

相対RGB色マスク作成ツールで Blue マスク 閾値 0 透過度 0.25 を指定

 私のツールの方はさらにマスクの透過度を変えたり、閾値を変化させるなどパラメータをいろいろ調整することができてより自由度が高くなっていますが、Photoshop ではそのような調整はできません。

 では GIMP ではどうでしょうか。Photoshop 各色域系指定と似たことをするためには、判定基準に、赤、緑、青等のチャンネルを指定することです。ただし GIMPPhotoshop と大きく異なるのは、これらのモードを使っても編集画面上でピクセルを選択することができることです。つまり類似色の判定基準に各チャンネルの値のみを使うというモードなので、Photoshop の考え方とちょっと違います。しかしその分別の意味で、Photoshop よりも自由度が高いと言えます。ただし Photoshop と似たようなことをやるには、ちょっと考える必要があるのと、全く同じ結果を得ることはできません。

 レッド、シアン系のピクセルを指定したければ、赤チャンネルを、グリーン、マゼンタ系のピクセルを指定するなら、緑チャンネルを、ブルー、イエロー系を指定するなら、青チャンネルを選択します。そして例えば、ブルー系を指定したいなら、画面上の青いピクセルを指定し、閾値を調整しますし、イエロー系を指定したいなら、画面上の黄色っぽいピクセルを指定し、閾値を調整するということになります。しかし、指定方式が Photoshop と異なりますので、全く同じ結果は得られません。Photoshop と同じ結果を得たいなら、拙作のツールをお使い下さい。

上の方法で、GIMP上で青系のピクセルを指定してみた例

■明るさを使った範囲指定

 Photoshop では、色域系等を使った範囲指定だけでなく、明るさを使った範囲指定も可能で、ハイライト域、中間調域、シャドウ域の三つの範囲指定が可能です。やはりこの範囲の設定はカスタマイズできません。

 これに関しては、GIMP では、HSV明度もしくはLCh明度を使った範囲指定が可能です。いずれかを選択し、画面の中からシャドウ域、中間調域、ハイライト域のピクセルをクリックし閾値を調整することで、Photoshop と似た範囲指定が可能です。

 なお、これについても拙作の相対RGB色マスク画像作成ツールを使って、輝度マスク作成を指定し、マスクを作成する明るさの範囲を指定すると Photoshop の範囲指定にかなり似せることができます。

 

HSV または LCh を使った範囲指定

 逆に、Photoshop ではできずに GIMP で可能な範囲指定の方法として、HSV もしくは LCh 色相もしくは彩度 (Saturation または Chroma) を使った範囲指定が可能です。

 

 また GIMP の色域指定は Photoshop に比べて、大きなピクセルの画像では非常に時間がかかっていました。Ver. 2.10.34 では、まだ動作が重くはあり、時間もかかりますが、以前よりはだいぶ改善されています。最大幅 1920 ピクセル程度ならほぼストレスのないところまで来ています。

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

stackoverflow.com

*1:以下の記事参照。

stackoverflow.com