Wie entferne ich Flecken von Bildern?

10

Geben Sie hier die Bildbeschreibung ein

Ich habe dieses extrem verzerrte und fleckige Bild

Ist es möglich, diesen Fleck zu entfernen? Könnte Image Inpainting helfen?

Bitte helfen Sie

EDIT: Ein anderes Bild

Geben Sie hier die Bildbeschreibung ein

Nach Anwendung der anisotropen Diffusion und Darstellung des Bildes mit imagesc (MATLAB)

Geben Sie hier die Bildbeschreibung ein

Ich habe versucht zu malen, aber das Ergebnis ist nicht gut genug

Geben Sie hier die Bildbeschreibung ein

Gibt es überhaupt eine Möglichkeit, diese Ausgabe zu verbessern?

vini
quelle
Nun, das ist es, worum es bei der Bildverarbeitung geht, einen Computer dafür zu machen
vini
3
In Ihrem Bild befinden sich die Flecken offensichtlich auf einer separaten Fokusebene. Daher würde ich darüber nachdenken, wie das Bild durch Fokusebenen zerlegt werden kann. Werfen Sie ein wenig Malerei und Sie sollten fertig sein :)
Emre
2
@vini Hast du mehrere Bilder oder nur dieses? Ich kann "gute" Ergebnisse erzielen, indem ich eine Maske manuell erstelle und inpainting. Ist das eine Lösung, an der Sie interessiert wären?
Lorem Ipsum
3
Sie können nicht einfach die Fenster putzen?
Endolith
2
Die Bilder scheinen sowohl doppelt belichtet als auch fleckig zu sein. Ist das der Fall?
Charna

Antworten:

8

Dies ist keine vollständige und klare Antwort, aber ich überlasse Ihnen zumindest einen Ansatz, mit dem Sie kämpfen können. (Ich würde mich sehr freuen zu wissen, ob Sie Ergebnisse haben).

Schauen Sie sich diese Fragen an:

Entfernen von Blendung aus dem Bild
Wie entferne ich Blendung und Helligkeit in einem Bild (Bildvorverarbeitung)?

Sie versuchen im Wesentlichen, das gleiche Problem zu lösen.

Es gibt zwei Teile des Problems:

ein. Identifizierung des Flecks / Flecks b. Ersetzen Sie den Fleck durch das, was an der Stelle der Okklusion gewesen wäre.

Die Art der Frage versucht, das genaue Problem (in gewissem Sinne) zu lösen.

Das ist keine triviale Sache. In beiden Fragen gibt es jedoch ein einzigartiges Muster, das Sie ausnutzen können.

  1. In allen Fällen hat das Überlagerungselement, das entfernt werden muss und hier als (Fleck, Blendung, heller Fleck) bezeichnet wird, einen einzigartigen und eindeutigen Farbton / eine eindeutige Farbe, die sich von normalen Objekten / Szenen unterscheidet.

  2. P[x,y]=(1α[x,y])S[x,y]+α[x,y]OverlayHue
    S~[x,y]=(P[x,y]OverlayHueα~[x,y])/(1α~[x,y])
    P[x,y]S[x,y]OverlayHueS~[x,y]α~[x,y]
  3. Der OverlayHue- Wert kann unabhängig geschätzt werden, indem Pixelbereiche manuell segmentiert werden, in denen Stain oder Flash eindeutig dominieren.

  4. S~R[x,y]=(PR[x,y]OverlayHueRα~[x,y])/(1α~[x,y])
    S~G[x,y]=(PG[x,y]OverlayHueGα~[x,y])/(1α~[x,y])
    S~B[x,y]=(PB[x,y]OverlayHueBα~[x,y])/(1α~[x,y])
  5. αS~

  6. αα

  7. S~[x,y]α~[x,y]

Dies ist möglicherweise keine perfekte Lösung, aber möglicherweise besser als die offensichtlichste als das Abschneiden auf Pixelebene oder das Herumspielen mit Sättigung usw. Ich bitte Sie aufrichtig, dies am Ende zu versuchen und uns Ergebnisse zu zeigen (meine Workbench ist derzeit in einem Chaos, sodass ich es nicht konnte tu es nicht!)

Hoffe das hilft.

Dipan Mehta
quelle