白い背景のキャンバスの不均一/勾配照明を修正する方法は?


24

DSLRのホットシューフラッシュと2つの偏光フィルター(キャンバス写真のクロス偏光子テクニック)を使用して、紙に鉛筆で描い写真を撮りました。

問題は、描画に近づくと、レンズが画像の一部に影を落とすため、照明が不均一になることです。これにより、画像上にほぼ直線的なグラデーションが作成されます。

以下は画像の例です。オリジナルの幅は約3 cmです。

背景を均一に白くするために、これをどのように編集できますか?

不均一な照明のあるソース画像

—編集—

以下のスキャン結果、未修正および修正済み。これは最初は非常に有望に見えますが、残念ながら、ここに表示されるのは最大解像度(幅600ピクセル)です。スキャナーは300 dpiを実行でき、描画の幅は約1インチです。これは、カメラからの5000ピクセルに比べて少し少ないです。

また、補正されていないスキャンは、クロス偏光子技術とは対照的に、グラファイトが実際に光のかなりの部分を反射していることを示唆しています。

未修正スキャン 補正された曲線でスキャン


スキャンする代わりに写真を撮る理由はありますか?
コールジョンソン

はい; キャンバスはA4より大きくすることができます。しかし、夕方に結果を比較します。私はグラファイトで発生する可能性のある反射について少し疑っています。
サイモンA.エグスター

@ColeJohnson Scanが上記に追加されました。
サイモンA.エグスター

他に試してみること:ライトテーブルを用意するか、図面を吊るして、背面から明るい光を当て、その中を光で照らし撮影ます(紙自体をディフューザーとして機能させます)。もちろん、これは不透明なペイントでは機能しませんし、裏面に何かが描かれていても、片面の鉛筆、クレヨン、インク、水彩画の絵の場合は試してみる価値があります。
イルマリカロネン

回答:


8

私が自分で使用した方法はあなたのものと似ていますが、Resynthesizerプラグイン(GIMPの場合)またはContent-Aware Fill(Photoshopの場合)を使用してグラデーションを再構築します。

  1. 図面を完全にカバーする選択範囲を作成します。これは手動で行うことも、ハイパスフィルタリングを使用して次のようなセレクションマスクを計算することもできます。

    • まず、スキャン(のコピー)でガウス分布の差のようなエッジ検出フィルターを使用して、大まかに図面を抽出します。

      ステップ1.1:ガウス分布の差分を含む図面を抽出する

    • 結果にコントラストが欠けている場合は、レベルツールを使用して暗くします。

      ステップ1.2:レベルを調整する

    • ガウスぼかしを適用します。

      ステップ1.3:ガウスぼかしを適用する

    • しきい値ツールを使用して、図面全体を覆うマスクを取得し、色で選択を使用して選択します。

      ステップ1.4:しきい値ツールを使用してマスクを取得する

  2. 図面をカバーする選択範囲ができたら、元のスキャンレイヤーのコピーを作成し、[選択範囲の修復 / コンテンツに応じた塗りつぶし]を使用して塗りつぶします。

    ステップ2:選択を修復して白紙を再構築する

  3. 独自の回答のように、編集したレイヤーのモードを分割に設定します。紙のテクスチャやシェーディングの一部を保持したい場合は、レイヤーの不透明度を少し減らして、少しぼかしを適用することをお勧めします。

    ステップ3:白紙のレイヤーで分割する

    (上の写真では、塗りつぶされたレイヤーガウスが10pxでぼかしられ、不透明度が95%に設定されています。)

  4. オプションで、レイヤーをマージした後、レベルを調整してブラックポイントを設定し(ヒント:対数ヒストグラムビューを使用)、コントラストを上げます:

    ステップ4:レベルを調整する

(PS。ハーフサイズの画像をクリックすると、フルサイズで表示されます。)

この方法の良いところは、非常に非線形なシェーディンググラデーションに対してもかなりうまく機能することです。もちろん、完璧ではありません。たとえば、紙の境界が部分的に図面の下にある不規則な汚れがある場合、コンテンツに応じた塗りつぶしで正しく再構築することはできません。それでも、上記のように、かなりまともな結果が得られることがよくあります。


それは非常にクールで、実際に最初にやりたかったことですが、Resynthesizerは見つかりませんでした!明日、これをいくつかの図面で試してみます。図面の大部分が覆われているものに興味があります。あなたの結果はすでに素晴らしく見えます。
サイモンA.エグスター

残念ながら、Gimpにヒールセレクションを登録することはできないようです…
サイモンA.エグスター

それは変です。WindowsまたはLinuxを使用していますか?可能性の1つは、Pythonを使用できない場合や、GIMPが何らかの理由でPythonを見つけられない場合です。その場合、Heal Selectionは機能しない可能性がありますが、基本的なFilter> Map> Resynthesize(UIがそれほど便利ではない場合でも、Heal Selectionでできることはすべて実行できます)は引き続き使用可能です。
イルマリカロネン

私はLinux上にいて、自分でプラグインをコンパイルする必要がありました。Map> Resynthesizeは確かに利用可能です。Gimpが必要なPythonバージョンを見つけたかどうかを確認するにはどうすればよいですか?2.7.5および3.3.2がインストールされています。
サイモンA.エグスター

よくわからない。私は自分でUbuntuを使用していますが、APTに任せてください。んのPython-Fuがサブメニューのすべてで、あなたのために表示されますか?そうでない場合は、GIMP-Pythonをインストールし(GIMPから個別に入手できる場合)、Pythonサポートを有効にしてGIMPを再コンパイルする必要があります。それから、私は本当にここで推測しています。
イルマリカロネン

18

編集:以下の手順を実行するGimpスクリプトと、Ilmarisの回答用の別のスクリプトを作成しました。両方のスクリプトは、GitHubからダウンロードできます。推奨される方法はこれです。


私はかなり長い間解決策を探していて、シンプルで実用的な解決策を見つけたので、ここでこれに答えています。すぐに結果を見てみましょう:

  1. 背景の縦ストライプのみをコピーし、元の画像のサイズに引き伸ばすことにより、背景レイヤーを作成します。

    Gimpの場合:r背景を含む長方形を上から下に選択Shift+Ctrl+Vし、新しい画像に貼り付け、Filter > Map > Tile画像サイズに拡大し、ガウスぼかしを実行してから、新しいレイヤーとして画像にコピーします。

  2. レイヤーモードをDivisionに設定します。

  3. レイヤーの不透明度を必要に応じて、たとえば90%に減らします。通常、100%に保つのは少し明るすぎます。

分割手順

これが本質的に行うことは、背景レイヤーwが各ピクセルの「白」のRGB値を定義することです。分割層モードは、次いでから画像上の値を伸張[0,w]する[0,255](参照GIMP層モードを画素毎)。

(悪い)曲線と線形勾配を使用した例

最初の試みは常にレイヤーを複製し、下部の最も暗い部分が適切に照らされるように明るさを変更し、線形グラデーションでレイヤーマスクを追加して暗い領域のみを明るくすることでした。勾配が強いほど、見た目は悪くなります。

線形勾配での試み

(より良い)除算を使用した例

除算の結果ははるかに優れています。照明は均等に固定されており、特に図面の左側にあるような焼けた部分はありません。

除算を使用する


または、Photoshopのレベル設定を変更するだけです
-SaturnsEye

3
より良い結果を得るには、特に両方向の一定でない/非線形の影の場合、白い紙の写真を撮り、カメラのノイズを取り除くためにわずかなぼかしを適用して使用することができます。調整レイヤーのベースとして。
PlasmaHH

1
@SaturnsEye上記の入力画像で試してください。動作しません;)紙が10%のような均一な灰色である場合、はい、それが最も簡単な方法です。
サイモンA.エグスター

@PlasmaHHこれは、安定した距離を得るために三脚を使用する必要がありますが、特に濃く描かれた写真には良い解決策です。とにかく、紙の裏側は通常は白なので、調整レイヤーに使用できます。(グレー/ブラウンの異なる色合いの異なる種類の紙を使用します)。
サイモンA.エグスター

@ SimonA.Eugster:時々これらのことを何度もやるとしたら、とにかく安定した結果を得るために三脚と再現性のあるライトのセットアップを使用します。
PlasmaHH

5

この回答は、Ilmari Kanorenの回答に基づいて、私が知っている最速の信頼できるアプローチを説明しています。それは半自動です。図面の一部にエッジがないため、以下のようなハードイメージでは自動マスクは機能しません。

このGimpスクリプトはステップ3と4を自動化します(Resynthesizerが必要なことに注意してください)。そのため、ワークフローは次のとおりです。選択の作成、スクリプトの実行。3歳のラップトップでスクリプトが15 MPの画像を完了するのに6秒かかります。

ここに画像の説明を入力してください

ステップ1(オプション):深い黒の曲線を調整します

黒点

ステップ2:オブジェクトを選択する

Gimpでは、クイックマスクShift+Qは高速な方法です。鉛筆Nを使用してオブジェクトを白く塗り、Shift+Qもう一度押してマスクを選択範囲に変換します。

選択されたオブジェクト

ステップ3:背景を再作成する

  • 画像を複製し、400×400 pxに拡大縮小します
  • ヒール選択またはコンテンツ対応塗りつぶしを使用してオブジェクトを修復します(背景のみが残ります)
  • ガウスぼかし、40×40 pxを使用
  • 画像を元のサイズに縮小し、元の画像にレイヤーとしてコピーします

バックグラウンド

ステップ4:分割モード

必要に応じて、レイヤーモードを[ 分割]に設定し、不透明度を少し下げます。

固定画像


1

これは写真フォーラムですので、写真のアプローチを取ります。もちろん、完璧な白のためには、おそらくいくつかのポストプロダクションの微調整が必​​要です。

フラッシュを使用する代わりに、自然光を使用してみてください。直射日光を避け、窓にも近づかないでください。ただし、窓から2メートルほど離してください。これは、図面の最も近い部分と最も遠い部分の間の光の差を減らすためです。(しかし、これは小さな画像なので、距離はそれほど重要ではないかもしれません。)

三脚を下向きにして、図面を床に置くことができます。

または、三脚を持っていない場合は、本の表紙またはシリアルボックスを配置して、画像をテーブルに垂直に保持し、カメラを同じテーブルに着実に置くことができます。(背景画像やテクスチャが見えないように、図面の後ろに白い紙を置きます。)

あなたが言及している偏光子のテクニックは、ガラスの後ろに絵がある場合や、明るい物体や反射がある場合です。ただし、光源が斜めになっている場合は、おそらくフィルターを使用する必要はありません。


私はアンビエント照明を知っています。この距離では、レンズはすでに紙にすでに影を落とし始めている可能性が高いですが、勾配に関してはより良い結果が得られるでしょう。紙の表面が均一ではないため、偏光子は実際にここで必要です。グラファイトは、領域を暗くしたいほど光を反射するのに驚くほど優れています;)また、鉛筆で少し強く押すと、周囲の光が再び反射できるくぼみが生じる場合があります。
サイモンA.エグスター
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.