OpenCV Hauterkennung

8

Ich habe eine Hauterkennung durchgeführt, kann aber keine glatte finden. Das Bild unten enthält die Eingabe (links) und Ausgabe (rechts) mit dem unten angehängten Code. Jetzt sollte die gewünschte Ausgabe das unterste Bild sein (dasjenige, das an den Rändern glatt ist und keine Löcher darin hat). Wie erreiche ich diese Ausgabe? Ein Beispielcode für den Start wäre eine große Hilfe.

Eingabe (links) und falsche Ausgabe (rechts):

Gewünschte Ausgabe:

Code zum Generieren der Incorect-Ausgabe:

%Vor%

Modifizierter Code (nach Astors Vorschlag): (Das Problem ist jetzt: Wie glättet man die Ausgabe?)

%Vor%     
Og Namdik 19.10.2012, 06:30
quelle

2 Antworten

9

Sie sollten findContours verwenden, um die größte Kontur zu erkennen, nachdem eine Konturlinie mit Füllparameter -1 mit der Methode drawContours erstellt wurde. Hier ist ein nützlicher Link: Ссылка

    
ArtemStorozhuk 19.10.2012, 06:38
quelle
1

Um die Weichheit der Ausgabe zu verbessern oder mit anderen Worten die schwarzen Löcher im erkannten Bereich zu reduzieren, versuchen Sie morphologische Operationen am resultierenden Bild durchzuführen. Die folgende Dokumentation erläutert die Erodier- und Erweiterungsfunktionen in opencv. Ссылка

    
hbn1991 05.11.2014 18:21
quelle

Tags und Links