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

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

輝度マスク簡単作成ツールバージョンアップ

 以前公開したImageJ用の輝度マスク簡単作成ツールですが、こちらもバージョンアップします。新バージョンの内容は、例によって16bit / 8bit版の統合と、Type A (Photoshop方式) / Type B (Pat David方式)の統合です。これにより一本のプラグインスクリプトになりました。作成した画像はGIMPPhotoshop等レイヤー編集をサポートするフォトレタッチソフトで、マスクとして貼り付けて活用してください。

 最初にファイル選択ダイアログが出た後、さらにパラメータ入力ダイアログが出て、16/8bitの選択、並びに Type A / Bの選択ダイアログが出ます。

 

 ダウンロード先はこちらです。

 

 詳しい説明については以前公開した記事をご参照ください。

yasuo-ssi.hatenablog.com

 

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

 2021.3.5に画像ファイルを簡単にレイヤーマスクとして貼り付けるGIMPプラグインを公表しました。このプラグインを使うと簡単に画像をマスクとして貼り付けられます。こちらをご覧ください。

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

 なお、本記事で紹介した写真補正技法やソフトウェア (Plug-in) は、個人的および非営利用途であれば、自由に使っていただいて構いませんが、本技法を使って何らかの成果 (編集した写真等) を公表する場合は、本記事で紹介した技法を使った旨クレジットをつけて公表していただくことをお願いします。

 また、本ソフトウェアは現状のまま提供されるものし、作者はこれを使ったことによるいかなる損害補償等にも応じられないことを了解の上使っていただくものとします。
 但し、もしソフトウェアのバグがありましたら、ご連絡いただければなるべく改善するよう努めたいと思います。

ガンマ補正理解メモ(4) - GIMPでのリニア / 非リニア画像処理と作業色空間の変更

 前回、ガンマ補正理解メモ(3)で、次のように書きました。

GIMPの場合は、画像処理のために、いったんリニアに戻して(ガンマ・デコード)計算をし、再度数値を非リニア(ガンマ・エンコード)に戻しているのは明らかです。あるいは計算はリニアの空間、そして表示だけ非リニアにしている2段構えになっているのではないかと推測しますが(そのほうが計算量が減るはずです)、良く分かりません」

 で、このあたり、つまりGIMPの画像処理における、リニア、非リニア画像の扱いについて解説しているサイトを見つけました。GIMPの開発参与者である Elle Stone氏による英語による解説です。この点に関する日本語の解説サイトはどこにもないかと思います。このサイトの記述を読む限り、どうやら私の推測は合っているようです。

 

ninedegreesbelow.com

ninedegreesbelow.com

 Elle Stone氏の解説を元にGIMPの動作機構を考えると次の図のようになります。

f:id:yasuo_ssi:20201126121933j:plain

GIMPの動作機構
続きを読む

写真現像・レタッチソフトにおける、ウェーブレットとは何か?

 フリーウェアのRaw現像ソフトRawTherapeeの高度な機能にウェーブレット (wavelet) があります。ところがRawPediaの説明 をいくら読んでも、何を言っているのか、今ひとつ要領がつかめません。ノイズ処理に良さそうな機能らしい、ぐらいは分かるのですが... ところがdarktable Ver. 3.4のマニュアルを見たらわかりやすい説明が出ていました。この記述を元にウェーブレットは何かを説明してみます。

 darktableのマニュアルによりますと、画像のテクスチュア(模様)を数学的にコンヴォリューションと呼ばれるアルゴリズムで、以下の図のように大まかな模様のパターンから、細かい模様のパターンに数層に分けて分解していくのがウェーブレットの機能です。

f:id:yasuo_ssi:20210129150720j:plain

図1. パターンの分解
続きを読む

飯田線 クハ68404 (1983.6)

 こちらは、飯田線旧型国電置き換え直前 (1983.6) のクハ68404です。撮影場所は豊橋駅です。

f:id:yasuo_ssi:20201208142136j:plain

クハ68404 (静ママ)


 この、写真も黄変写真から復旧したものです。スキャン直後のオリジナル写真は下記のような状態でした。 

f:id:yasuo_ssi:20201202095824j:plain

オリジナル

f:id:yasuo_ssi:20201202095847j:plain

オリジナル Bチャンネル
続きを読む

darktable 3.4 を使ったカメラによるネガデュープ画像のネガポジ反転の方法

 以前、フリーウェアのRaw現像ソフトの一つ、darktableにおいてもカメラで撮影したネガデュープファイルをネガポジ反転するnegadoctorという機能が搭載された(2020.8に公開された Ver. 3.2.1より)ということを紹介しました。最近当サイトへのアクセスを見ますと、1月にクモハ11117の写真をアップしたことで一時的にこの記事へのアクセスが急増しましたが、それを除くと、どうやらデジタル一眼レフカメラ (DSLR)でどうやってネガフィルムを取り込むかの方法を検索して当サイトにたどり着く方が多いようです。それを考慮して、今回は、darkableを使ったネガ画像のポジ反転の説明を、darktableを使ったことのない方にも分かるように、詳しく紹介したいと思います。

 なお、darktableは昨年クリスマスのメジャー・バージョンアップで、Ver. 3.4となっていますので、それに準拠して紹介していきます。なお、3.2から日本語対応が外れましたが、今回も継続して日本語表示がありません。どうやらコントリビューターがいなくなったようです。linux上だと、自力でメニューの日本語化が可能なようですが、Windows版では不可能です。また、negadoctor機能が搭載されたのは、日本語に対応しなくなった3.2以降です。

 それもあって、なるべくネガポジ反転の仕方を丁寧に説明していきたいと思います。ただdarkableの全般的チュートリアルを書くのは無理なので、あくまでもネガをDSLRで撮影したRawファイルを取り込んでポジ反転する(&ファイル保存)ところまでに内容を限定します。

目次

1. darktableの基本的な構成とワークフロー
2. negadoctor モジュールの構成
3. デジタルカメラによるネガデュープの準備およびネガ撮影
4.フィルムベースカラーの調整
5. ネガ撮影コマのネガポジ反転

続きを読む

最近のアクセス動向

 最近の当サイトへのアクセス動向ですが、1/1にクモハ11117の現役時代の写真を公開したところ、アクセスが急増、一時 www.tetsudo.com からのアクセスがトップを記録し、tetsudo.comとgoogleからのアクセスが3割程度 bingからのアクセスが2割弱というような状況でした。

 現在はクモハ11117へのアクセスは落ち着いてきて、tetsudo.comからのアクセスは8%程度と、以前よりかは若干割合が高い程度です。一方、比重が減っていた googleからのアクセスは50%前後と再び増えており、bingからのアクセス比率が以前より減っています。

 どうやら最近の当サイトへのアクセスはクモハ11117の記事へのアクセスを除くと、デジタルカメラによるネガデュープを行ったもののネガポジ変換関連の記事で検索する方が多く、ついで、写真の褪色補正関連のアクセスが多いようです。Googleの比率が高まっているのは、以前はネガポジ変換関連の記事への検索はbingからしか当サイトに来なかったのが、最近はGoogle経由でも 「RawTherapee ネガポジ反転」といったキーワードでヒットするようになったためのようです。このためbingの相対的比率が減っているようです。

 一方最近bingで検索されて来るキーワードは「sRGB ガンマ補正」といったワードのようです。やはりbingはgoogleで出てこないときにサブとして使われる検索エンジンであり、googleでヒットしない場合、bingで検索するとヒットするという関係性のようです。逆に同じキーワードでgoogleでヒットするようになってしまうと、bingから来なくなるという関係性のようです。

 

ImageJ / Python Tips: ImageCalculatorの使用

 ImageJのImageCalculatorは、2つの画像の間で演算を行う機能です。この機能も、当然ながらマクロで記録することができ、そのマクロを再生して動かすことが可能ですが、Python (Jython) を使って IJ.runでそのマクロを書き換えるとうまく動きません。おそらく、Jythonにおいては、IJ.runで動かせるのはアクティブなウィンドウ一つだけのようで、2つウィンドウを使うImageCalculatorはうまく動かせないようです。

 これに関しては、IJ.runを使うのではなくpluginライブラリを使うことにしました。

from ij import plugin →pluginライブラリ使用の宣言

----------------------
ic = plugin.ImageCalculator() →ImageCalcuratorのインスタンス
imp0 = ic.run("Add create", imp1, imp2) 
    → 画像 imp1とimp2を加算してimp0に代入する
    "Add create" というところに Imagecalcurator で使うコマンドを記述

ImageCalcuratorのコマンドとしては、

Add createのほかに
Subtract create, Multiply create, (以下、create省略) Divede, AND, OR, XOR, Min, Max, Average,  Defference, Copy, Transparent-zero
があり得ます。

あるいは、インスタンス化しない場合は

from ij.plugin import ImageCalculator
----------------------------
imp0 = ImageCalculator().run("Subtract create stack", imp1, imp2)

これでも可です。

--------

※お断り
 当記事は、ImageJ - Fijiディストリビューションの記事執筆時点での最新バージョンを前提とした記事です。ImageJのオリジナルバージョンだと、環境設定をご自分で整備しない限り、同様に動作しない可能性があります。