Wie wählt man geeignete Skalare Werte bei der Verwendung von InRange in OpenCV
Ich versuche zu erkennen, die weißen Formen in ein Objekt und kann erfolgreich tun es für 1 video.
//Create and display a new matrix for triangles
triangles = src.clone();
GaussianBlur(triangles, triangles, Size(5, 5), 0, 0);
inRange(triangles, Scalar(150,150,150), Scalar(255, 255, 255), triangles);
imshow("triangles", triangles);
Gibt mir das Ergebnis
http://s8.postimg.org/o9xg284jp/triangles.png
Jedoch, wenn ich eine andere video - dann wird der Skalare Wert von 150 möglicherweise nicht angemessen sein (zum Beispiel, wenn es ist ein Licht, Umgebung... alles wird erkannt)
http://s8.postimg.org/m09brgvlx/bad_triangles.png
Für dieses video, ich würde ändern müssen, die mindestens scalar rund machen 190-200, um richtig zu funktionieren. Meine Frage ist - ist es ein guter Weg, um zu bestimmen, den richtigen skalaren Wert zu verwenden? Ich weiß, es klingt einfach, aber ich habe Kopfschmerzen, weil es!
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://colorizer.org/
Wenn Sie prüfen hier können Sie sehen, was dein problem ist. RGB = (255, 155, 155) ist wohl nicht "weiß", sondern Ihre inRange Methode gibt true output, dass man nicht.
Versuchen, HSL-Farbraum. Leichtigkeit > 90 weiß ist sicher, egal, was H-und S-Kanal-Werte sind. Verwenden BGR2HLS Konvertierung. Dann verwenden inRange mit L-Kanal zwischen 90-100.
Eigentlich für Farb-Erkennung von Problemen, meist verwendeten Farbräume HSV-und HSL, nicht RGB!
Wahrscheinlich gibt es keine Möglichkeit, automatisch festzustellen, eine Schwelle, die funktioniert für alle Art von videos. Aber, um es weniger abhängig von der Allgemeinen Beleuchtung der video-man könnte es machen, hängt von der mittleren oder median-Pixelwert des Bildes.
Oder wenn Sie wissen, wie groß Ihr Objekt erscheint im Bild, Sie können wählen, den Schwellenwert entsprechend.
Ein anderer Ansatz könnte sein, eine Normalisierung der Helligkeit des Videos.
Aber welcher Ansatz der beste ist dringend Angehörigen auf, Ihre genaue situation und die Anforderungen.