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

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

「スマート消去」を実行する GIMP Resynthesizer Plugin のダウンロード方法

[2021.3 日本語化の方法に関して記述を増補改訂しました]

 GIMPで、Photoshopに先んじて「スマート消去 (Heal Selection)」*1を実現していた Resynthesizer Pluginですが、GIMP Registryのメンテナンスが放棄されたため、どこからダウンロードしていいのか、探しづらくなっています。Web上に転がっている日本語の情報もダウンロード先に関する情報は古くなっているようですので (しかもバージョンも古いです。たぶん日本語化されているかどうかの問題でしょう)、ダウンロード情報をメモしておきます。 

 

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

github.com このページの下のほうに Quickstartという項目があり、その下にLinuxWindows用のバイナリーへのリンクが張ってあります。ここからダウンロードします。

 なお、日本語化されたバイナリーファイルを配布している方もいらっしゃいますが、バージョンが古くて設定できるパラメータが少ないので、こちらをダウンロードして、この記事の下の方に書いてある方法で日本語化したほうがベターです。

 Windows版の場合、Resynthesizer_v1.0-i686.zipというファイルがダウンロードされますので、中身を解凍し、以下のプラグインを保存するフォルダにコピーします(GIMP Ver. 2.* の場合。ただし試作的な性格の2.9を除く)。

C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins (要管理者でログイン)

 あるいは、今ログインしているユーザだけで使えればいいのであれば、以下のフォルダでもOKです。

C:\Users\%Username%\AppData\Roaming\GIMP\2.10\plug-ins (管理者ログイン不要)

%Username% には今ログインしているユーザ名を入れてください

 これ以外の環境の場合、プラグインを置くフォルダーはメニュー→[編集]→[設定]→[フォルダー]→[プラグイン]で確認できます。

 

 実行するときは、まず消したい範囲を範囲指定し、メニューの[フィルター] → [強調] → [Heal Selection] をクリックします。するとオブジェクトを消去した後、それを埋めるためのテクスチャ情報を得るためのサンプリングの仕方を指定するダイアログが出るので、適宜指定し、OKを押すとスマート消去が始まります。

 

f:id:yasuo_ssi:20200812093355j:plain

[フィルター]→[強調]→[Heal Selection]

f:id:yasuo_ssi:20200812093455j:plain

サンプリングの仕方を指定するダイアログ

 消去結果が気に入らない場合は、周辺の補完テクスチャ情報サンプリング方法を変えて再度実行してください。サンプリングのオプションは次のようになっています。

〇補完テクスチャを取得 (サンプリング) する半径(ピクセル単位)

  上のダイアログの "Context sampling width (pixels):"

〇どこからサンプリングするか [選択範囲全周辺から /選択範囲の両側面から / 選択範囲の上下端から]
  上のダイアログの "Sample from:" 選択肢は、"All around","Sides","Above and below"

〇オブジェクトを除去した後の周辺テクスチャ情報による補完の仕方 [ランダム / 外から中心へ / 中心から外へ]。

  上のダイアログの、 "Filling order:" 選択肢は、"Random", "Inwards towards center", "Outwards from center"

 なお、日本語化されているバージョンは古いので、選択肢は上の一つしかありません。

heal-selection日本語化の方法

 最新バージョンを日本語化したい場合は、plugin-heal-selection.pyを次のように書き換えてください。

まず、1行目

#!/usr/bin/env python

のすぐ下に、以下の行を追加してください。

# -*- coding: utf-8 -*-

これで日本語表示が可能になります。

またオリジナルの162行目、

    N_("_Heal selection..."),

という部分を

    N_("_スマート消去..."),

 に変えてやれば、メニュー上、[Heal Selection... ]という表示の代わりに [スマート消去...] と表示されるようになります。なお個人的には、"_スマート消去..."よりも、"_対象を周辺パターンで消去..." ぐらいの方が良いように思います。スマート消去などと称すると過大な期待を持ちそうですので。なお、あまり過大な期待を持たないほうが良さそうなのは Photoshop の「コンテンツに応じた塗りつぶし」も同様のようです*2

さらに、

オリジナル167-170行目、

(PF_INT, "samplingRadiusParam", _("Context sampling width (pixels):"), 50),
(PF_OPTION,"directionParam", _("Sample from:"),0,[_("All around"),_("Sides"),_("Above and below")]),
(PF_OPTION, "orderParam", _("Filling order:"), 0, [_("Random"),
_("Inwards towards center"), _("Outwards from center") ])

を次のように書き換えます。

(PF_INT, "samplingRadiusParam", _("周辺サンプリング幅 (pixels):"), 50),
(PF_OPTION,"directionParam", _("サンプル採取箇所:"),0,[_("全周辺"),_("左右側"),_("上下側")]),
(PF_OPTION, "orderParam", _("塗潰し方向:"), 0, [_("ランダム"),
_("外から中へ"), _("中から外へ") ])

また、157行目

N_("Heal the selection from surroundings as if using the heal tool."),

N_("選択対象を周辺情報で消去する"),

に変更します。

最後に、ファイルを文字コードUTF-8で、改行コードを LF で保存してください(Windowsの改行コードのデフォルトはCR+LF)。UTF-8で保存しないと文字化けします。なお改行コードは、元々GIMPLinuxで開発されているので、念のためLinuxに合わせていますが、最近はCR+LFでもちゃんと読み取ってくれるようです。

以下、日本語化した状態を図示します。

f:id:yasuo_ssi:20210328102632j:plain

日本語化したメニュー表示

f:id:yasuo_ssi:20210501103643j:plain

日本語化した Heal Selection ダイアログ表示

 なお、周辺の画像が比較的均質である場合は、塗りつぶし方向はランダムが良いですが、不均質な場合は、外から中へ、のほうがうまくいくことが多いように思います。またサンプリング幅は、画像解像度や消去対象の大きさによって適宜変更してください。

 なお、上で過大な期待を持たない方が良い、と書きましたが、すでに述べたように周辺の画像パターンで対象を塗りつぶす、というのが基本機能です。従って対象を消去した後、その背面にあった「筈」の、見えなかった画像を「創造」したり、でっち上げて不自然でないように穴埋めする、というようなところまで期待できないということです。これについては Photoshop も同様かと思います。


 Resynthesizerは他にも機能がありますが、写真補正に使えそうなのは、穴埋め補修機能 (Heal Transparency Tool: 画面上でゴミなどによって欠落ができている場合、周囲の画像コンテキストを使って穴埋めする)と、シャープ化機能 (Sharpen by Synthesis Tool)ぐらいでしょうか。

 あと、小さな画像を大きく拡大する場合は、Enlarge and Sharpen Tool は便利に使えると思います。 

Resynthesizer 機能紹介ページ

templatetoaster.com

追記 Resynthesizer Ver. 2について (2021.5.9追記)

 ResynthesizerのVer. 2が出ています。ソースコードは以下にありますが、Windows版のバイナリーファイルはありません。最新はVer. 2.03です。

 GitHub - bootchk/resynthesizer: Suite of gimp plugins for texture synthesis

 但し、変更点はマルチスレッド化が主で、機能的変更はほとんどありません。わずかにmaps機能で結果がVer. 1と異なるようですが、必ずしも改善とは言えない、と書いてあります。実行速度は早まっているようです。

 これを日本人と思われる方で、 Ohtsuka Yoshio さんという方が、Windows用にコンパイルして配布しています。但しバージョンは 2.00です。インターフェースとなるプラグインスクリプトは日本語化されていません。日本語化には上記の方法を適用してください。なお行数にずれがある可能性があります。

reddog.s35.xrea.com

 なお、本ツールの原理については、原理を考案した Paul Francis Harrison 氏の以下の論文をご覧ください。

https://logarithmic.net/pfh-files/thesis/dissertation.pdf

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

[Ubuntu の場合は...]

yasuo-ssi.hatenablog.com

[参考情報]

 なお、Mac OS における Resynthesizer のインストールは、Mac OS のセキュリティ強化によりいろいろ問題があるようです。以下のスレッドをご覧ください。

https://gitlab.gnome.org/GNOME/gimp/-/issues/8413

 

discuss.pixls.us

*1:PhotoshopPhotoshop Elementsでは[コンテンツに応じた塗りつぶし] という名称。写真上の不必要なオブジェクトを消去し、周辺情報できれいに埋める技術。

helpx.adobe.com

*2:例えば以下のサイト参照。

maywork.net