Verbesserte rote Farberkennung in OpenCV mithilfe des HSV-Farbraums
Dieser Artikel zielt darauf ab, die Genauigkeit der roten Farberkennung in Bildern mithilfe des HSV von OpenCV zu verbessern Farbraum.
Problem:
Das Erkennen eines roten Rechtecks in einem Bild mithilfe von cv::inRange und HSV-Farbraum führt derzeit zu unbefriedigenden Ergebnissen. Das gewünschte Ergebnis besteht darin, das rote Rechteck effektiv zu isolieren.
Lösung:
Bei HSV erstreckt sich die rote Farbe über einen Bereich, der um den Wert 180 herum liegt. Zu berücksichtigen Daher sollte der HSV-Bereich Werte sowohl in [0,10] als auch in [170, 180] enthalten.
Codeaktualisierung:
Der folgende Codeausschnitt demonstriert die Aktualisierung Ansatz:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
Alternativer Ansatz: Cyan-Erkennung
Eine weitere effektive Methode besteht darin, das BGR-Bild zu invertieren, in HSV zu konvertieren und die Cyan-Farbe zu isolieren (komplementär). zu rot). Dadurch entfällt die Notwendigkeit, mehrere Farbtonbereiche zu überprüfen.
Code für die Cyan-Erkennung:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Das obige ist der detaillierte Inhalt vonWie können wir die rote Farberkennung in OpenCV mithilfe des HSV-Farbraums verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!