Wie kann man eine ungleichmäßige / verlaufende Beleuchtung auf einer Leinwand mit weißem Hintergrund reparieren?

24

Ich habe ein Foto einer Bleistiftzeichnung auf Papier, aufgenommen mit einem Blitzlicht auf der DSLR und zwei Polarisationsfiltern ( Kreuzpolarisationstechnik für Leinwandfotografie).

Das Problem besteht nun darin, dass die Beleuchtung bei Annäherung an die Zeichnung ungleichmäßig wird, da die Linse einen Schatten auf einen Teil des Bildes wirft. Dies erzeugt einen Verlauf über dem Bild, der ungefähr, aber nicht ganz linear ist.

Unten sehen Sie ein Beispielbild. Das Original ist ca. 3 cm breit.

Wie kann das so bearbeitet werden, dass der Hintergrund gleichmäßig weiß ist?

Quellbild mit ungleichmäßiger Beleuchtung

-Bearbeiten-

Unten gescannte Ergebnisse, unkorrigiert und korrigiert. Das sieht auf den ersten Blick recht vielversprechend aus, ist aber leider in voller Auflösung (600 Pixel breit) hier zu sehen. Der Scanner kann 300 dpi verarbeiten, und die Zeichnung ist ungefähr 1 Zoll breit. Dies ist ein bisschen weniger als die 5000 Pixel von der Kamera.

Außerdem deutet der unkorrigierte Scan darauf hin, dass Graphit im Gegensatz zur Kreuzpolarisationstechnik tatsächlich einen großen Teil des Lichts reflektiert.

Scan nicht korrigiert Mit korrigierter Kurve scannen

Simon A. Eugster
quelle
Gibt es einen Grund, warum Sie ein Foto davon machen, anstatt es zu scannen?
Cole Johnson
Ja; Die Leinwand kann größer als A4 sein. Aber ich werde die Ergebnisse am Abend vergleichen. Ich bin etwas misstrauisch gegenüber Reflexionen, die auf Graphit auftreten können.
Simon A. Eugster
@ColeJohnson Scan oben hinzugefügt.
Simon A. Eugster
Noch etwas zu versuchen: Nehmen Sie einen Leuchttisch oder hängen Sie Ihre Zeichnung einfach auf und richten Sie ein helles Licht auf die Rückseite und fotografieren Sie sie mit dem Licht, das durch sie hindurchscheint (lassen Sie das Papier selbst als Diffusor wirken). Dies funktioniert natürlich nicht mit undurchsichtigen Farben oder wenn etwas auf der Rückseite gezeichnet ist, aber für einseitige Bleistift-, Buntstift-, Tinten- oder Aquarellbilder ist es möglicherweise einen Versuch wert.
Ilmari Karonen

Antworten:

8

Die Methode, die ich selbst verwendet habe, ähnelt Ihrer , verwendet jedoch das Resynthesizer-Plug-In (für GIMP) oder Content-Aware Fill (für Photoshop), um den Verlauf zu rekonstruieren:

  1. Erstellen Sie eine Auswahl, die die Zeichnung vollständig abdeckt. Sie können dies von Hand tun oder eine Auswahlmaske wie die folgende mithilfe der Hochpassfilterung berechnen:

    • Beginnen Sie mit der Verwendung eines Kantenerkennungsfilters wie Differenz der Gaußschen in (einer Kopie von) Ihrem Scan, um die Zeichnung grob zu extrahieren:

      Schritt 1.1: Extrahieren Sie die Zeichnung mit dem Unterschied der Gaußschen

    • Wenn das Ergebnis keinen Kontrast aufweist, können Sie ihn mit dem Ebenen- Werkzeug abdunkeln:

      Schritt 1.2: Pegel einstellen

    • Wenden Sie etwas Gaußscher Weichzeichner an :

      Schritt 1.3: Gaußsche Unschärfe anwenden

    • Verwenden Sie das Schwellenwert- Werkzeug, um eine Maske zu erhalten, die die gesamte Zeichnung abdeckt, und wählen Sie sie mit Auswahl nach Farbe aus:

      Schritt 1.4: Verwenden Sie das Schwellenwertwerkzeug, um eine Maske zu erhalten

  2. Wenn Sie eine Auswahl für die Zeichnung getroffen haben, erstellen Sie eine Kopie der ursprünglichen Scanebene und füllen Sie diese mit Auswahl heilen / Inhaltsbewusst aus . Im Idealfall sollte die kopierte Ebene jetzt wie ein Bild eines leeren Blattes Papier aussehen:

    Schritt 2: Auswahl korrigieren, um leeres Papier zu rekonstruieren

  3. Stellen Sie den Modus der bearbeiteten Ebene wie in Ihrer eigenen Antwort auf Teilen ein. Wenn Sie einen Teil der Papierstruktur und / oder Schattierung beibehalten möchten, können Sie die Deckkraft der Ebene etwas verringern und möglicherweise ein wenig Weichzeichnen anwenden:

    Schritt 3: Durch leere Papierschicht teilen

    (Im obigen Bild ist die ausgefüllte Ebene Gauß um 10 Pixel unscharf und die Deckkraft auf 95% eingestellt.)

  4. Passen Sie optional nach dem Zusammenführen der Ebenen die Pegel an, um den Schwarzpunkt festzulegen (Tipp: Verwenden Sie die Ansicht des logarithmischen Histogramms) und erhöhen Sie den Kontrast:

    Schritt 4: Pegel einstellen

(Ps. Klicken Sie auf die Bilder in halber Größe, um sie in voller Größe anzuzeigen.)

Das Schöne an dieser Methode ist, dass sie auch bei nicht linearen Schattierungsverläufen ziemlich gut funktioniert. Natürlich ist es nicht perfekt - wenn das Papier beispielsweise einen unregelmäßigen Fleck aufweist, dessen Grenze teilweise unter der Zeichnung liegt, ist es unwahrscheinlich, dass die inhaltsbewusste Füllung es richtig rekonstruiert. Wie oben zu sehen ist, führt dies jedoch häufig zu recht anständigen Ergebnissen.

Ilmari Karonen
quelle
Das ist sehr cool und genau das, was ich zuerst machen wollte, aber ich habe den Resynthesizer nicht gefunden! Ich werde es morgen mit ein paar Zeichnungen versuchen. Neugierig auf einen, bei dem größere Teile der Zeichnung abgedeckt sind. Ihr Ergebnis sieht schon toll aus.
Simon A. Eugster
Leider kann ich Heal Selection nicht in Gimp registrieren lassen ...
Simon A. Eugster
Das ist seltsam. Bist du unter Windows oder Linux? Eine Möglichkeit besteht darin, dass Sie Python möglicherweise nicht zur Verfügung haben oder GIMP es aus irgendeinem Grund nicht findet. In diesem Fall funktioniert Heal Selection möglicherweise nicht, aber der grundlegende Befehl Filter> Map> Resynthesize (der alles kann, was Heal Selection kann, auch wenn die Benutzeroberfläche möglicherweise nicht so praktisch ist) sollte weiterhin verfügbar sein.
Ilmari Karonen
Ich bin unter Linux und musste das Plugin selbst kompilieren. Map> Resynthesize ist in der Tat verfügbar. Wie kann ich überprüfen, ob Gimp die erforderliche Python-Version findet? Ich habe 2.7.5 und 3.3.2 installiert.
Simon A. Eugster
Ich bin mir nicht wirklich sicher; Ich benutze Ubuntu selbst und lasse APT einfach die Dinge erledigen. Ist der Python-Fu Untermenü für Sie überhaupt erscheinen? Andernfalls müssen Sie möglicherweise GIMP-Python installieren (sofern es separat von GIMP verfügbar ist) und / oder GIMP mit aktivierter Python-Unterstützung neu kompilieren. Andererseits rate ich hier wirklich nur.
Ilmari Karonen,
18

Bearbeiten: Ich habe ein Gimp-Skript geschrieben , das die folgenden Schritte ausführt , und ein weiteres für Ilmaris . Beide Skripte stehen auf GitHub zum Download zur Verfügung . Der vorgeschlagene Weg ist dieser .


Ich beantworte dies hier, weil ich seit einiger Zeit nach einer Lösung gesucht habe und eine einfache und funktionierende gefunden habe. Kommen wir gleich zum Ergebnis:

  1. Erstellen Sie eine Hintergrundebene, indem Sie nur einen vertikalen Streifen des Hintergrunds kopieren und ihn auf die Größe des Originalbilds strecken.

    In Gimp: Wählen Sie rein Rechteck mit Hintergrund von oben nach unten aus, fügen Sie es Shift+Ctrl+Vin ein neues Bild ein und erweitern Sie Filter > Map > Tilees auf die Bildgröße. Führen Sie eine Gaußsche Unschärfe darüber aus und kopieren Sie es dann als neue Ebene zurück in das Bild.

  2. Stellen Sie den Ebenenmodus auf Division ein .

  3. Reduzieren Sie die Deckkraft der Ebene wie gewünscht, z. B. auf 90%. Es ist normalerweise ein bisschen zu hell, es auf 100% zu halten.

Teilungsschritte

Dies bedeutet im Wesentlichen, dass die Hintergrundebene den RGB-Wert wvon „Weiß“ für jedes Pixel definiert. Der Teilungs- Ebenen-Modus streckt dann den Wert auf dem Bild von [0,w]bis [0,255](siehe GIMP-Ebenen-Modi ) pro Pixel.

(Schlechtes) Beispiel mit Kurven und linearem Verlauf

Bei den ersten Versuchen ging es immer darum, die Ebene zu duplizieren, die Helligkeit so zu ändern, dass der dunkelste Teil auf der Unterseite richtig beleuchtet wurde, und eine Ebenenmaske mit einem linearen Farbverlauf hinzuzufügen, um nur die dunkleren Bereiche aufzuhellen. Je stärker das Gefälle, desto schlechter sah es aus.

Versuche es mit einem linearen Farbverlauf

(Besseres) Beispiel mit Division

Division liefert viel bessere Ergebnisse; Die Beleuchtung ist gleichmäßig fixiert und es gibt keine verbrannten Stellen, wie dies besonders im linken Teil der Zeichnung der Fall ist.

Division verwenden

Simon A. Eugster
quelle
Oder ändern Sie einfach die
Pegeleinstellung
3
Für noch bessere Ergebnisse, insbesondere bei nicht konstanten / nicht linearen Schatten in beide Richtungen, können Sie ein Foto von einem weißen Blatt Papier aufnehmen, einige Unschärfen anwenden, um das Kamerarauschen zu beseitigen, und verwenden das als Einstellungsebene Basis.
PlasmaHH
1
@ SaturnsEye Versuchen Sie es mit dem obigen Eingabebild. Funktioniert nicht;) Wenn das Papier gleichmäßig grau wäre, wie 10%, dann wäre das der einfachste Weg.
Simon A. Eugster
@PlasmaHH Dies würde erfordern, dass ich ein Stativ verwende, um eine gleichmäßige Entfernung zu erhalten, aber es ist eine schöne Lösung, insbesondere für stark bemalte Fotos. Die Rückseite des Papiers ist normalerweise sowieso weiß, sodass es für die Einstellungsebene verwendet werden kann. (Wir verwenden verschiedene Papiersorten mit unterschiedlichen Grautönen / Brauntönen).
Simon A. Eugster
@ SimonA.Eugster: Wenn ich diese Dinge mehr als einmal in einer Weile tun würde, würde ich sowieso ein Stativ und ein neuartiges Lichtsetup verwenden, um die Ergebnisse gleich zu halten.
PlasmaHH
5

Diese Antwort beschreibt den schnellsten zuverlässigen Ansatz, den ich atm kenne, basierend auf der Antwort von Ilmari Kanoren . Es ist halbautomatisch; Die automatische Maske funktioniert nicht für harte Bilder wie das folgende, da in einigen Teilen der Zeichnung keine Kanten vorhanden sind.

Dieses Gimp-Skript automatisiert die Schritte 3 und 4 (beachten Sie, dass Resynthesizer erforderlich ist). Der Workflow sieht also folgendermaßen aus: Auswahl erstellen, Skript ausführen. Es dauert 6 Sekunden, bis das Skript ein 15-MP-Bild auf meinem 3 Jahre alten Laptop erstellt hat.

Bildbeschreibung hier eingeben

Schritt 1 (optional): Passen Sie die Kurven für tiefes Schwarz an

Schwarzer Punkt

Schritt 2: Wählen Sie das Objekt aus

In Gimp ist die Shift+QSchnellmaske ein schneller Weg. Verwenden Sie den Stift Nund malen Sie das Objekt weiß. Drücken Sie Shift+Qerneut, um die Maske in eine Auswahl umzuwandeln.

Objekt ausgewählt

Schritt 3: Erstellen Sie den Hintergrund neu

  • Duplizieren Sie das Bild und skalieren Sie es auf 400 × 400 Pixel
  • Verwenden Sie " Auswahl heilen" oder " Inhaltsbewusste Füllung" , um das Objekt zu heilen (nur der Hintergrund bleibt erhalten).
  • Verwenden Sie Gaußsche Unschärfe, 40 × 40 px
  • Skalieren Sie das Bild auf die ursprüngliche Größe zurück und kopieren Sie es als Ebene in das Originalbild zurück

Hintergrund

Schritt 4: Divisionsmodus

Stellen Sie den Ebenenmodus auf Teilen und reduzieren Sie die Deckkraft ein wenig, falls gewünscht.

Festes Bild

Simon A. Eugster
quelle
1

Dies ist das Fotografie-Forum, daher werde ich einen fotografischen Ansatz verfolgen. Natürlich benötigen Sie für ein perfektes Weiß noch einige Verbesserungen in der Postproduktion.

Anstelle eines Blitzes können Sie auch natürliches Licht verwenden. Vermeiden Sie direktes Sonnenlicht, bleiben Sie auch nicht zu nahe am Fenster, sondern etwa 2 Meter vom Fenster entfernt. Dies dient dazu, den Lichtunterschied zwischen dem nächstgelegenen und dem am weitesten entfernten Teil der Zeichnung zu verringern. (Da dies jedoch ein kleines Bild ist, ist die Entfernung möglicherweise nicht so wichtig.)

Sie können mit dem Stativ nach unten zeigen und Ihre Zeichnung auf den Boden legen.

Wenn Sie kein Stativ haben, können Sie ein Buchcover oder eine Müslischachtel anordnen, um das Bild vertikal auf einem Tisch zu halten, und Ihre Kamera ruhig auf den gleichen Tisch stellen. (Legen Sie ein weißes Blatt Papier hinter Ihre Zeichnung, um die Hintergrundbilder oder Texturen nicht zu sehen.)

Die Polarisationstechnik, die Sie erwähnen, ist für den Fall, dass Sie die Zeichnung hinter einem Glas haben und wenn Sie helle Objekte oder Reflexionen haben. Wenn sich Ihr Quelllicht jedoch in einem schrägen Winkel befindet, müssen Sie wahrscheinlich keinen Filter verwenden.

Rafael
quelle
Ich bin mir der Umgebungsbeleuchtung bewusst. Es würde wahrscheinlich zu besseren Ergebnissen hinsichtlich des Verlaufs führen, obwohl die Linse in dieser Entfernung höchstwahrscheinlich bereits einen Schatten auf das Papier werfen würde. Der Polarisator ist hier tatsächlich erforderlich, da die Papieroberfläche nicht eben ist und Graphit das Licht überraschend gut reflektiert, je dunkler der Bereich sein soll .
Simon A. Eugster