2017-11-13 3 views
0

Ich verwende OpenCV EM, um ein Bild auf der HSV-Domäne zu segmentieren. Daher erkennt die Segmentierung einige falsche Positive [Highlights in Yellow]. Unten sehen Sie das Eingabebild.Wie verwende ich einen Schwellenwert, um falsche Positive zu entfernen?

Input Image

Und unten, wird das Bild mit Fehlalarme segmentiert.

False Positives

ich versuche, es zu entfernen, indem Schwelle verwendet, wie Sie ohne Erfolg sehen können.

Otsu's Example Threshold Example

Jede Hilfe, wie nur das Blatt zu halten, wird geschätzt!

+0

Versuchen Sie cv2.watershed. –

+0

Können Sie Ihre Bilder mit der Kamera im * "rohen" * Modus (z. B. Canon CR2, Nikon NEF, Adobe DNG) anstatt mit JPEG erfassen? –

+0

Ich kann es nicht in "Roh: Modus – Tarcisiofl

Antwort

2

Die "falschen Positiven", die Sie sehen, sind Komprimierungsartefakte, die durch JPEG-Komprimierung verursacht werden.

https://en.wikipedia.org/wiki/JPEG

Sie können nicht Segment diese perfekt in Hue oder Sättigung Kanal.

Im Idealfall unkomprimierte Bilder verarbeiten oder Helligkeitsinformationen verwenden, die normalerweise bei höheren Frequenzen als Farbe erhalten bleiben.

Leider haben Sie das eigentliche Eingabebild nicht bereitgestellt, daher kann ich Ihnen nicht weiterhelfen.

+0

Das eigentliche Bild ist das in der ersten Anlage. Allerdings werde ich es separat hinzufügen. – Tarcisiofl

+0

@Tarcisiofl können Sie mir sagen, warum Sie es in erster Linie segmentieren müssen? Ich meine Der Hintergrund ist perfekt weiß und das Blatt ist nicht ... Eigentlich hast du schon was du willst oder vermisse ich hier etwas? – Piglet

+0

Ich muss die Fläche des Blattes berechnen, aber wenn ich cv2.findContours() verwende, dann auch bekommt die "falsch positiven" – Tarcisiofl

Verwandte Themen