プラグイン(Resynthesizer)は、画像の中にある不要な部分を周辺の画像で埋める処理を行います。
処理をした結果が下図になります。
電柱が消えました!
ここでは、このような処理を行う「Resynthesizer」プラグインの入手方法から、使い易くカスタマイズする方法を解説します。
GIMPのスタンプで消す場合は「GIMPのスタンプで画像を修正する」を参照して下さい。
1.プラグインの入手と個人フォルダへの登録
1.Resynthesizerをダウンロードします。
①下記URLをクリックして下さい。
https://github.com/bootchk/resynthesizer
②開いた画面の中の「Installation」欄を見る。
Windowsの場合は「install Resynthesizer for Windows」をクリックする。
③開いた画面の中の「An archive of the resynthesizer plugin for Windows」をクリックする。
「Download」ボタンが表示されるので、これをクリックすると「Resynthesizer_v1.0-i686.zip」がダウンロードされます。
④この圧縮ファイルを解凍すると関連プログラムが入手できます。
2.ダウンロードプログラムの解説
Resynthesizerのメイン機能の「画像の中にある不要な部分を周辺の画像で埋める処理」は、下記の2つプログラムから構成されています。
プログラム名 |
解説 |
plugin-heal-selection.py | 入力ダイアログを表示するプログラムです。
Python言語で記述されているのでカスタマイズする事が可能です。 |
resynthesizer.exe | [plugin-heal-selection.py]から受け渡されたデータを基に画像処理を行うプログラムです。 |
上記以外に下記の様なプログラムもバンドルされています。
しかしあまり利用価値が無いのでここでは利用しません。
プログラム名 | 解説 |
plugin-heal-transparency.py | 画像の一部をアルファ チャネルにした所を周辺画像で埋める物です。 |
plugin-map-style.py | 選択した画像からアクティブなレイヤーにスタイル を取り出す。 |
plugin-render-texture.py | 現在の画像や選択エリアからテクスチャーを利用して新しい画像を生成するプログラムの様だがうまく稼働しない。 |
plugin-resynth-enlarge.py | 画像をシャープに拡大する機能だが、あまり綺麗ではない。 |
plugin-resynth-fill-pattern.py | 選択範囲をパターンで塗りつぶします。 |
plugin-resynth-sharpen.py | 選択範囲をシャープにする処理の様だがあまり綺麗にならない。 |
plugin-uncrop.py | 画像を遠近法を維持したまま拡大します |
3.個人のプラグインフォルダにプラグインを登録する。
①フォルダ名の追加
[c:¥my-gimp¥plug-ins]の下にプラグインのフォルダ名を追加します。
このプラグインは「Resynthesizer」と呼ばれているので、これをフォルダ名にします。
②関連プログラムの登録
登録先:c:¥my-gimp¥plug-ins¥Resynthesizer
上記フォルダに下記の2つのプログラムを登録します。
・plugin-heal-selection.py
・resynthesizer.exe
③読み込みフォルダの追加
GIMPがプラグインのフォルダを読めるように、読み込みフォルダを追加します。
追加方法は「GIMP2.10をカスタマイズする為の基本を理解する」を参照してください。
追加するフォルダは「c:¥my-gimp¥plug-ins¥Resynthesizer」です。
上記の[plugin-heal-selection.py]のカスタマイズは「プログラムのカスタマイズ」を参照して下さい。
2.操作方法
1.消したい部分を選択します。
利用できるコマンドは下記です。
ここでは電柱を「自由選択」で囲みます。
2.プラグインを実行します。
メニュから「フィルタ → 画像編集 → 選択範囲を周辺画像で置換」を実行します。
■OKボタンを挿入します。
3.結果
電柱が消えた画像が入手できました。
■結果が気に入らない場合は「編集 → 選択範囲を周辺画像で置換を基に戻す」で元に戻します。
変な色を持ってくる場合は、周辺画像のサンプリング幅をもっと小さくして再実行するとうまくいくケースが多いです。
3.プログラムのカスタマイズ
[plugin-heal-selection.py]のデフォルトは、「フィルタ → 強調 → Heal selection」です。
プラグインをデフォルトで追加するとGIMPの[基本メニュ]と[追加メニュ]の区別がつかなくなります。
そこで追加するプラグインはメニュのあまり深くない所に配置する事をお勧めします。
1.カスタマイズ方針
実行メニュは「フィルタ → 画像編集 → 選択範囲を周辺画像で置換」とする。
また初期設定は下図の様に使い易い形に変更します。
■メッセージを日本語化する。
■画像採取箇所のデフォルトを「左右」にする。
2.具体的はカスタマイズ方法
①個人のプラグインフォルダにある「plugin-heal-selection.py」をEmEditorで開きます。
②日本語化指定(2行目)
空白の2行目に下記を入れます。
# -*- coding: utf-8 -*-
■これで日本語処理が可能になります。
③入力画面と実行メニュの変更
元のプログラム(画面の下にあります)
register( "python_fu_heal_selection", N_("Heal the selection from surroundings as if using the heal tool."), "Requires separate resynthesizer plugin.", "Lloyd Konneker", "2009 Lloyd Konneker", # Copyright "2009", N_("_Heal selection..."), "RGB*, GRAY*", [ (PF_IMAGE, "image", "Input image", None), (PF_DRAWABLE, "drawable", "Input drawable", None), (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") ]) ], [], heal_selection, menu="<Image>/Filters/Enhance", domain=("resynthesizer", gimp.locale_directory) )
下記に変更します。
register( "python_fu_heal_selection", N_("選択範囲を周辺の画像で置き換えます。"), "Requires separate resynthesizer plugin.", "Lloyd Konneker", "2009 Lloyd Konneker", # Copyright "2009", N_("選択範囲を周辺画像で置換"), "RGB*, GRAY*", [ (PF_IMAGE, "image", "Input image", None), (PF_DRAWABLE, "drawable", "Input drawable", None), (PF_INT, "samplingRadiusParam", ("周辺画像のサンプリング幅 (pixels):"), 50), (PF_OPTION,"directionParam", ("画像採取箇所:"),0,[("左右"),("全周辺"),("上下")]), (PF_OPTION, "orderParam", ("塗潰し方:"), 0, [("ランダム"),("外から中へ"), ("中から外へ") ]) ], [], heal_selection, menu="<Image>/Filters/画像編集", domain=("resynthesizer", gimp.locale_directory) )
■赤字の所がメニュの変更箇所です。
■青字の所が日本語化した部分で、画像取得箇所の所は[左右]を先頭に持ってきています。
④GIMPを更新します。
GIMPを再起動するとメニュに「プラグイン」メニュが追加されます。