Hintergrund aus Bild entfernen & nur Bildteil zum Speichern in iOS verwenden

8

Das muss ich erreichen:

  • Nimm ein Bild von der Kamera oder der Galerie
  • Hintergrund von image & amp entfernen; Speichere es
  • Hintergrund sollte alles schwarz oder weiß sein
  • Sie müssen auch Schatten mit dem Hintergrund entfernen

Ergebnis Beispiel:

Originalbild

Ergebnisbild

Das habe ich ausprobiert:

%Vor%

Es funktioniert nur auf weißem Hintergrund. Es ist nicht effektiver. Ich muss genau das Ergebnis erreichen, was ich in den obigen Bildern platziert habe.

Ich habe auch einige Referenzen erwähnt:

iOS, wie man die Bildhintergrundfarbe maskiert

So entfernen Sie den Hintergrund des Bildes in iPhone App?

Ändern der Hintergrundfarbe von ein aufgenommenes Bild von Kamera zu Weiß

Kann mir jemand dabei helfen?

Alle Referenzen oder werden sehr geschätzt.

Vielen Dank im Voraus.

    
cyberlobe 14.07.2015, 07:27
quelle

2 Antworten

7

Als Faustregel gilt im Allgemeinen, dass die Hintergrundfarbe von allen anderen Farben unterschiedlich ist, Je einfacher es ist, das Bild in Vorder- und Hintergrund zu teilen. In einem solchen Fall, wie @Chris schon vorgeschlagen, ist es möglich, eine einfache Chroma-Key-Implementierung zu verwenden. Unten ist mein schnell Implementierung des Keyings beschrieben auf Wikipedia (es ist in C ++ geschrieben, aber übersetzt es in Ziel-C sollte einfach sein):

%Vor%

Ein vollständig funktionierendes Codebeispiel finden Sie in diesem Github Gist .

Leider bleibt Ihr Beispiel nicht bei dieser Faustregel. Seit dem Vordergrund und Hintergrund nur in der Intensität variieren, ist es schwierig (oder sogar unmöglich), eine einzige globale Menge zu finden von Parametern für eine gute Trennung:

  1. Schwarze Linie um das Objekt, aber keine Löcher innerhalb des Objekts ( tInner=50 , tOuter=90 )

  2. Keine schwarze Linie um das Objekt, aber Löcher innerhalb des Objekts ( tInner=100 , tOuter=170 )

Wenn Sie also den Hintergrund Ihrer Bilder nicht mehr ändern können ein komplizierter Ansatz ist erforderlich. Eine schnelle und einfache Beispielimplementierung ist jedoch ein wenig außerhalb des Geltungsbereichs, aber Sie möchten möglicherweise in verwandte Bereiche von Bildsegmentierung und Alpha-Mattierung .

    
nils 19.07.2015, 13:37
quelle
4

Ich denke, du musst einen Chromakey verwenden - obwohl du Schwarz auswählst, denke ich, dass es funktionieren sollte.

Eine schnelle Google kam mit

    
Chris 14.07.2015 08:00
quelle