Das muss ich erreichen:
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.
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:
Schwarze Linie um das Objekt, aber keine Löcher innerhalb des Objekts ( tInner=50
, tOuter=90
)
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 .
Tags und Links opencv ios uiimage core-image chromakey