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

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

汎用色チャンネルマスク作成ツールによる、ポジフィルムのカビ & 不均等な汚れのデジタル除去

  さて先日お見せしたクモユニ143-1の写真の1枚目です。もともとはコダクローム64で撮った写真で非常にシャープです。しかし、空の部分にカビがうっすらと生え、さらに右端もカビなのか何なのかよく分かりませんが、上は黄色く、下は青かシアンの不定形の汚れが目立ちます。従来はデジタル化したフィルム写真のカビの除去は、スタンプツールなどを活用して補正することが多かったと思います。また不定形の汚れは完全に塗りなおすか、彩度を下げて目立たなくする、あるいはあきらめるといった対応がとられていたと思います。

 これを拙作の汎用色チャンネルマスク作成ツールGIMPを使って補正していきます。

yasuo-ssi.hatenablog.com

f:id:yasuo_ssi:20210429001227j:plain

オリジナル画像

 まず、補正方針を決定するために、画像をRGB分解します。カラーだと人間の目はごまかされやすいですが、RGB分解したモノクロ画像だとその画像の欠陥やその特徴が見えやすいのです。

f:id:yasuo_ssi:20210429091017j:plain

Rチャンネル

f:id:yasuo_ssi:20210429091049j:plain

Gチャンネル

f:id:yasuo_ssi:20210429091108j:plain

Bチャンネル

 R, G, Bとも空に薄く黒いカビが繁殖しているのが分かります。右下の汚れは比較的Gが程度が弱く、R, Bで目立つようです

■空部分補正マスク

 ではまず空のカビを補正するマスクを作成します。いろいろ試行錯誤した結果、この画像の場合は、Bチャンネルでマスクを作るのが、最もカビを析出できることが分かりました。

f:id:yasuo_ssi:20210429091218j:plain

汎用色チャンネルマスク作成ツールを使って、
空の部分のみ含まれるマスク画像を作るために明度範囲調整中

f:id:yasuo_ssi:20210429075618j:plain

Y+100 (明度範囲B 165-247)

 汎用色チャンネルマスク作成ツールを使って、Yマスクを閾値+100 Bチャンネルの明度範囲を 165-247で作成します。カビの菌糸が明確に析出されますねぇ。

f:id:yasuo_ssi:20210429093709j:plain

空補正マスク編集中

 空以外の部分を塗りつぶし、補正マスクを作成します。なお、汎用色チャンネルマスク作成ツールで作った画像をGIMPにマスクとして貼り付けるには、やはり拙作のGIMP用のプラグインがありますのでこちらをご活用ください。

yasuo-ssi.hatenablog.com

f:id:yasuo_ssi:20210429101616j:plain

空補正中 Bチャンネル

 このマスクを掛けたレイヤーにトーンカーブを使って全体明度とBチャンネルを、明度の高い部分を中心に上昇させます。

 次にうまくカビを析出できるのはマゼンタマスクでした。

f:id:yasuo_ssi:20210429101423j:plain

Mg+100 (明度範囲G 200-255)

f:id:yasuo_ssi:20210429102013j:plain

空補正Mgマスク

 これも補正しない部分を塗りつぶして空補正マゼンタマスクを作り、そのマスクを掛けたレイヤーに対しGチャンネルの値をトーンカーブを使って上昇させます。

 

f:id:yasuo_ssi:20210429101651j:plain

一旦空のカビ補正終了

 ここで、一旦カビ補正を終了します。上の図はオリジナル画像レイヤーの上にYマスクとMgマスクを掛けて補正したレイヤーを重ねた補正結果です。

■右下汚れ除去マスク

 次に右下の汚れの除去を試みます。再び汎用色チャンネルマスク作成ツールを使って右下の汚れ除去用マスクを作成します。汚れは青っぽいので、まずBチャンネルをベースにBマスクを作ります。

f:id:yasuo_ssi:20210429102521j:plain

右下補正マスク用に明度を調整中

f:id:yasuo_ssi:20210429075746j:plain

B+20 (明度範囲B 19-143)

 Bチャンネルの明度範囲19-143でBの閾値+20で作成したマスク原稿画像です。

f:id:yasuo_ssi:20210429103110j:plain

右下補正用B+20マスク

 補正しない部分を塗りつぶしてマスクとします。

f:id:yasuo_ssi:20210429103758j:plain

右下B補正中

 このマスクを掛けたレイヤーに対し、Bチャンネルの値を下げて補正を試みますが、効果が少ないです。どうやらこの汚れの主成分はブルーではなく、シアンのようです。そこで、次にシアンマスクを作ります。

f:id:yasuo_ssi:20210429104536j:plain

右下Cyマスク明度範囲調整中

f:id:yasuo_ssi:20210429104721j:plain

Cy+20マスク  (Rチャンネル明度範囲8-181)

 Cyの閾値+20、Rチャンネルの明度範囲8-181でマスク画像を作ります。これを編集して実際のマスクを作ります。

f:id:yasuo_ssi:20210429104611j:plain

右下調整用Cy+20マスク

 元画像を見ると右下だけでなく、下の土の部分全体がやや赤みが足りない(シアンが勝っている)傾向にあるので、補正範囲を広げました。

f:id:yasuo_ssi:20210429105038j:plain

右下Cy調整中

 このマスクを掛けたレイヤーに、トーンカーブを用いてRチャンネルを上昇させると、狙い通りかなり補正効果が出て、面白いようにシアン汚れが消えていきます。しかし補正した部分が若干白っぽくなる傾向も見えました。

f:id:yasuo_ssi:20210429105503j:plain

右下Cy調整中2

 そこで、白っぽさが目立たないように、全体明度も一部下げました。

■右上補正マスク

 残るは右上の黄色っぽい部分です。これは当然Bチャンネルをベースに補正マスク画像を作成します。

f:id:yasuo_ssi:20210429075846j:plain

Y+20 (明度範囲B 165-247)

f:id:yasuo_ssi:20210429110754j:plain

右上黄色補正B+20マスク

 上の原稿画像を元に黄色い部分を補正するマスクを作ります。

f:id:yasuo_ssi:20210429111302j:plain

右上黄変部分補正中

 黄色味はある程度消えましたがまだ灰色っぽい汚れは残ります。これは明度を調整する必要があります。そこで上のマスク原稿画像を元に明度調整マスクを作成します。

f:id:yasuo_ssi:20210429110059j:plain

右上明度補正B+20マスク

 このマスクを掛けたレイヤーにトーンカーブを使って全体明度を上昇させ補正します。補正した結果が下記です。

f:id:yasuo_ssi:20210429113007j:plain

レイヤー補正終了状態

 かなり改善されました。しかしまだ右下に一カ所、フィルムの傷のようなものが見えます。これに関してはGIMPプラグイン Resynthesizer を使います。当サイトで、導入方法及び日本語化の方法について詳しく説明しておりますので、ぜひご参照ください。

yasuo-ssi.hatenablog.com

 

f:id:yasuo_ssi:20210429113030j:plain

フィルムの傷をスマート消去で補正

 これに関しては今回塗りつぶし方向は[外から中へ]を選択するのが適当でした。[ランダム]を選ぶと若干不自然です。

 

f:id:yasuo_ssi:20210429113229j:plain

フィルムの傷補正終了状態

 はい、きれいに傷が消えました。ただ、まだ空の黄色味、青みが取り切れていません。再度、汎用色チャンネルマスク作成ツールで、ここまで編集を終わったファイルを読み込み、マスクファイルを作成し、さらに再びGIMP上で黄色味と青みを取るマスクをかけさらに追い込みます。また薄くなった架線を復元したり、空の汚れもResynthesizer を使って再度細かく取っていきます。

f:id:yasuo_ssi:20210501191225j:plain

Y再補正マスク

 Y補正マスクを見ると、カビはだいぶ除去されましたが、それでもまだ完ぺきではないのが分かります。

f:id:yasuo_ssi:20210501191308j:plain

Cy再補正マスク

 

f:id:yasuo_ssi:20210501190902j:plain

架線復元レイヤー

 以上のマスクやレイヤーを使って再調整補正した結果が下図です。

f:id:yasuo_ssi:20210502161547j:plain

GIMP編集終了

 これにて一旦GIMP上の編集を終了します。さらにdarktableでコントラスト等を調整します。

f:id:yasuo_ssi:20210501171947j:plain

darktableで調整後

 100%とまでは行きませんが、一旦、これにて完成としたいと思います。オリジナルを再掲しますので見比べてください。不均等な汚れ等がかなり補正されていると思います。

f:id:yasuo_ssi:20210429001227j:plain

オリジナル画像 (再掲)

■補正済み画像のRGB分解画像

 念のため、補正画像をRGB分解に掛けてどれぐらい補正できているか確認します。

f:id:yasuo_ssi:20210429115228j:plain

補正後R

f:id:yasuo_ssi:20210429115245j:plain

補正後G

f:id:yasuo_ssi:20210429115304j:plain

補正後B

 オリジナルファイルをRGB分解に掛けた時はカビが明確に確認できましたが、補正後はほぼ消えています。

 

 ともあれ、拙作の汎用色チャンネルマスク作成ツールが、フィルムの不定形の汚れの除去に非常に高い効果があることは実証できたと思います。従来、写真の不均等・不定形な汚れや変色の補正は極めて困難でしたが、ブレークスルーになったのではないでしょうか。考えてみれば、不均等黄変ネガの補正を考え始めた時から、不均等・不定形な汚れやシミの補正を追究してきたわけです。

 なお、汎用色チャンネルマスク作成ツールの活用方法については、今までフィルム写真の補正に関する事例をお見せしてきましたが、デジタル写真の補正や何らかの効果を狙う場合にも色々活用できるのではないかと思います。

 

Bチャンネル再建法における新緑表現復元のための追加補正の考察(3)

f:id:yasuo_ssi:20210310145522j:plain さてこの考察の最後に、人工的に作った疑似黄変画像にBチャンネル再建法を掛けた結果に対する、新緑表現復元のための再補正を考えてみましょう。

 まず人工的に作った疑似黄変画像です。周辺部分を除いてB値を50下げて黄変させました。

f:id:yasuo_ssi:20210418100603j:plain

疑似黄変ファイル:
画面の一部のB値を50 (8bit相当、%表示で20%ポイント弱) 引き下げ

 次にBチャンネル再建法をこれに掛けた結果です。

f:id:yasuo_ssi:20210418100623j:plain

疑似黄変ファイルをBチャンネル再建法に掛けた結果

 見た目的には空にまだ黄変の痕跡がくっきり残っていますが、それ以外の部分は目立ちません。

 この画像の新緑表現を復元するには、次の作戦で行きます。

1) 空の黄変痕跡

 空は基本的にB, G値の接近によりB値がオリジナルより下がっているので、B値を上昇させなければならない。黄色透過マスクを掛け、その上でB値を上昇させ黄変の痕跡をなくす。

2) 新緑の部分

 新緑は基本的にB値を引き下げることで表現の回復を図る。従って基本は前回同様緑の透過マスクを掛け、B値を引き下げる。但し、黄変部分、非黄変部分のB値の差があるであろうことに鑑み、この透過マスクに対しさらに青色透過マスクを作成し緑の透過マスクと合成することで、黄変部分、非黄変部分のB値の引き下げ量の差をつける。つまり、非黄変部分のBの引き下げ量を多くし、黄変部分のBの引き下げ量を少なくする。

 という訳でマスク作成開始です。マスク作成には汎用色チャンネルマスク作成ツールを使います。

続きを読む

落成直後のワインレッドカラー クモユニ143-1 (1981年7月)

 こちらは、JRで最後まで残った郵便・荷物車となったクモユニ143-1の落成・新製配置時の姿です。1981年の身延線の新性能化により、それまでクモハユニ44がになっていた郵便、荷物輸送を担当するために、斬新なワインレッドで登場しました。身延線はトンネル断面が中央線などよりさらに低かったため、山用の折り畳み高の低いPS-21を搭載しただけでなく、屋根自体も低く作られていました。この身延線のワインレッドの車両カラーは非常に斬新で良かったのですが、残念ながらJR化後、合理化がすすめられ、115系御殿場線との共通運用化の中で湘南色に塗り替えられてしまったのは残念です。京浜急行に似ていると言えばその通りですが、京急よりちょっと落ち着いた色で上品でした。ただ当車は、身延線の荷物・郵便輸送の廃止と共に早々に身延線を離れることになり、さらに最終的にはJR東海ではなく、JR東日本に継承されることになりました。

 写真を撮ったときは、新製配置されたものの、まだ運用に就く前で、富士電車区に留置されていたころでした。

f:id:yasuo_ssi:20210428232716j:plain

クモユニ143-1 (静ヌマ)

f:id:yasuo_ssi:20210428232743j:plain

同上

 因みに当車の車歴ですがWikipediaに出ていました。そこから引用します。

1981.7.7 近畿車両製造 静ヌマ配置 → 1985.3.19 新ナカ → 1986.10.27 千マリ → (1988.1 スカ色塗り替え) → 1996.12.5 長ナノ → 2019.10.15廃車

 1985.3の身延線荷物・郵便輸送廃止後は上越線に移ったようですが、結局1986年11月に荷物輸送それ自体全面的に廃止となり、唯一残った房総地区の新聞輸送用として幕張電車区に移ります。しかし新聞輸送も旅客車を代用することとなり、長野運転所に牽引車代用兼職員輸送用として移りますが、職員輸送列車の廃止によって廃車となった模様です。但し、ネットの情報によると、車籍は抹消されたものの、車両自体は解体されずに残っているようです。

 なお僚車は長岡移動後湘南色に塗り替えられたようですが、本車は湘南色を経験することなくスカ色に塗り替えられたということです。

 

 なお上の写真ですが、カビが生えた上に不均等な汚れが付着していたのを、拙作の汎用色チャンネルマスク作成ツールを使ったマスクを掛けて補正したものです。後日この汚れを補正するノウハウについてご紹介したいと思います。

f:id:yasuo_ssi:20210429001227j:plain

上の写真 オリジナル

Bチャンネル再建法における新緑表現復元のための追加補正の考察(2)

f:id:yasuo_ssi:20210310145522j:plain

 前回記事からちょっと時間が経ってしまいましたが、前回に引き続き、Bチャンネル再建法が苦手な新緑表現を復元する方法について考えてみます。

 通常黄変ネガカラー写真の補正時に、通常黄変前のオリジナルの状態を知ることはできません。そこで、問題のない新緑の写真をあえてBチャンネル補正法にかけることで、Bチャンネル再建法で苦手な新緑表現を復元するために何が必要なのか考えてみます。次の写真がオリジナル写真です。

f:id:yasuo_ssi:20210418070851j:plain

オリジナル

 RGB値も表示します。0-255表現に直すには下記の値に2.55を掛けます。

f:id:yasuo_ssi:20210417183333j:plain

オリジナルのRGB値 (RGB%表示)

 次が、Bチャンネル再建法を掛けた写真です。

f:id:yasuo_ssi:20210418070731j:plain

オリジナルにBチャンネル再建法適用

f:id:yasuo_ssi:20210418211844j:plain

Bチャンネル補正法適用写真のRGB値

 前回はやみくもに、グローバルにBチャンネルの値を下げてみましたが、今回はどのようなマスクを掛けて補正したら効果的なのかを考えます。マスクは、以前ご紹介した筆者作成の汎用色チャンネルマスク作成ツールを使って作成します。そしてGIMPを使って編集します(Photoshopを使うことも可)。

 新緑というのはR, G値が高くB値が低いという特徴があります。そこで、RもしくはG透過マスクを使ってB値を下げることを考えます。まずRマスクを作ってみました。なお青空とそれ以外の部分を区分するには、Bチャンネルの値に基づいてマスクを適用する輝度範囲を決めるのが良いようなので (RおよびGではうまく区分できません)、Bチャンネルの値でマスク適用範囲を制限し、その範囲でRの閾値を+20にしてグレースケールマスクを作成したのが下の図です。このマスクを使ってB値を下げます。

f:id:yasuo_ssi:20210422144322j:plain

R透過マスク (B: 74-203範囲でRの閾値+20)
続きを読む

GIMP平滑化機能を使った赤変褪色ポジフィルムの補正手順

f:id:yasuo_ssi:20210425152745j:plain

 

 コロナ19感染拡大第4波を受けて、東京・大阪等大都市圏に緊急事態宣言が発令されました。どこかに出かける予定だったのを中止して、仕方なく自宅で過ごされている方も多いと思います。この機会に写真の編集や整理を行って過ごすのも一興ではないでしょうか。そのような方々に向けて、このゴールデンウィーク期間、写真補正関連記事をいつもより間隔を詰めてアップしてみようと思います。

 さて今まで、多くの人が気付いていなかったと思われる、GIMPの平滑化機能の赤変褪色ポジフィルム補正能力を他のツールと比較しながら紹介してきましたが、今回はGIMPの平滑化を使った後、より良い色に補正することを試みたいと思います。

 サンプルとして取り上げるのはやはり先日GIMPの平滑化機能とVuescanの退色復元機能の赤変ポジ復元能力比較の際取り上げたこちらのフィルムです。ハーフサイズのリバーサルフィルム・スライドをカメラで取り込んだものです。

まず、全体のワークフローを確認しましょう。

1) スライドを、Nikon ES-1等を用いデジタルカメラで複写 (スライドデュープ) する。

2) スライドを複写したデジタルカメラのRawファイルを、Raw現像ソフトで16bit TIFFファイルに変換する。

3) TIFFファイルをGIMPに読み込み、[色]→[自動補正]→[平滑化]を掛ける。

4) 平滑化を掛けた画像を見てファイルの補正方針を決める。

5) トーンジャンプを補正するため一旦 RawTherapee または darktableに読み込ませ16bit TIFFファイルとして保存しなおす。

6) 拙作の汎用色チャンネルマスク作成ツールを使ってマスク原稿用画像ファイルを作成する。

7) GIMP上で、平滑化に掛けた画像ファイルのレイヤーを、補正レイヤー作成分複写し、6) で作成したマスク原稿ファイルをマスクとして掛ける。

8) 必要に応じてマスク編集を行う。

9) マスクを掛けたレイヤーに対し、RGBトーンカーブやレベル補正等を用いてR, G, B値の調整を行う。

10) 調整が終了したら最後に全体に対しトーンカーブ等でコントラストを補正して、レイヤーを統合してファイル出力して終了。

 

 以下の説明は上のワークフローの 3) から出発します。その前にオリジナルファイルを提示します。

f:id:yasuo_ssi:20210417112011j:plain

オリジナル

 元の色が推測できるぎりぎりのところまで褪色しています。そして前にもお見せしましたが、下がGIMPの平滑化を掛けたところです。

f:id:yasuo_ssi:20210417112104j:plain

GIMP 平滑化を掛ける

 コントラストが下がっていますが、Vuescanより元の色が再現されていました。とはいえこのままではインパクトが弱いです。結局この画像の問題は何でしょうか。

f:id:yasuo_ssi:20210424180149j:plain

RGB値
続きを読む

蔵出し画像 福塩線 クモハ51043 (1977年3月)

 引き続き福塩線の旧型国電を紹介します。こちらは福塩線を走っていたクモハ51043です。

f:id:yasuo_ssi:20210211211149j:plain

クモハ51043 (岡フチ) 福山駅

 福塩線の旧型国電は、全国で唯一、新幹線ブルー(青色20号)一色に塗られており、非常に異彩を放っていましたが、この車両はその中の一両でした。Hゴム化は最小限にとどめられていて、好ましい印象です。福塩線は、1970年代前半はクモハ51とクモハ41が混在して使われていたようですが、1976年に岡山地区の旧型国電が、東北本線115系冷房車が投入されて押し出された非冷房の115系に置き換えられると、一部捻出されたクモハ51が福塩線に転用され、このころはクモハ51, クハ68に統一されていました。また岡山から押し出されたクモハ51の中には塗り替えられずにそのままマルーンのまま活躍している車両もいました。

続きを読む

Imagej / Python Tips: ImageJ APIレファレンスの構成

 ImageJのAPIリファレンスはアメリ国立衛生研究所 (National Institute of Health: NIH)のサイトにあります。なお、最近当ブログで書いたようにAPIドキュメントのURLがこの3月下旬に微妙に変わっています。

NIH ImageJトップサイト

imagej.nih.govImageJ Developper Resorces トップサイト

imagej.nih.gov

ImageJ API トップサイト

imagej.nih.gov

 本日は、このAPIリファレンスの見方に関するメモです。

例えば以下に、オブジェクト、ImagePlusに関する説明があります。

 

imagej.nih.gov

トップに、class ImagePlusとありますが、クラス(class) とはオブジェクトの型 (種類) のことです。つまりImagePlus型オブジェクトに関する説明ということです。

 

 このページは大きく分けると、

・Field summary

・Constructor summary

・Method summary

・Field details

・Constructor details

・Method details

の6つのパートに分かれています。これは基本的にOracleが提供している、Java APIの構成に準じています。ImageJはJavaで開発されていますので、基本はJavaに準じているということです。

続きを読む