Opencv calcHist und calcBackProject in einfachem Englisch


10

Ich habe angefangen, mit C ++ und OpenCV zu experimentieren, weil ich die Bildverarbeitung lernen möchte.

Meine erste Übung besteht nun darin, einen Hautdetektor mit calcHist und calcBackProject zu erstellen .

Aber ich verstehe einige Dinge nicht:

  • die statistische Interpretation des Rückprojekts und warum es als "Rückprojekt" bezeichnet wird
  • Ich habe ein ziemlich gutes Verständnis dafür, in welchen Bereichen sich der Parameter befindet calcBackProject. Aber ich bin wirklich mit dem Bereichsparameter in der calcHistFunktion festgefahren .
  • Für mehr Erkennungsgenauigkeit denke ich, dass es eine gute Sache sein könnte, Backgrojection in mehr Ebenen zu verwenden: in jedem Kanal von rgb ans in jedem Kanal von hsv. Aber ich weiß nicht, wie ich die verschiedenen Ergebnisse calcBackProjectvon getrennten Kanälen von RGB und HSV kombinieren kann.

Und ich denke, dass mein nicht gutes Verständnis durch einen Mangel an Theorie darüber verursacht wird, was ich mit diesen beiden Methoden mache (siehe den ersten Punkt). Erklären Sie mich bitte in einfachem Englisch.


Das interessiert mich auch sehr. Schicken Sie mir eine E-Mail und wir können noch mehr darüber reden.
Spacey

Antworten:


3

Siehe Was ist Back Projection in den OpenCV - Tutorials

Ein Bildhistogramm misst die Verteilung der Farbe (und Helligkeit) der Pixel in einem Bild.

Wenn Sie ein Bild aufnehmen und eine Region von Interesse identifizieren, z. eine Hand und berechnen Sie das Histogramm der Pixel in diesem Objekt.

Nehmen Sie dann das Histogramm und ein zweites Bild und kehren Sie den Vorgang im Wesentlichen um - Sie wählen die Pixel im zweiten Bild aus, die mit dem Histogramm des ersten übereinstimmen. Es ist dieser umgekehrte Prozess, der ihm den Namen Rückprojektion gibt.

Sie gehen dann davon aus, dass Bereiche des Bildes im zweiten Bild, die dieselbe Farbverteilung wie ein Objekt im ersten Bild haben, ein Bild desselben (oder eines ähnlichen) Objekts sind.


Antworten sollten eine Antwort enthalten, nicht nur einen Link.
Endolith

@endolith - stimmt, aber hat es Sinn, eine lange Erklärung zu schreiben, wie man Rückprojektion in opencv verwendet, wenn sie ein Tutorial darüber haben?
Martin Beckett

„Mit allen Mitteln Link auf eine andere Website, aber Sie sollten zumindest zusammenfassend den Inhalt der Seite , die Sie zu verknüpfen.“ meta.stackexchange.com/a/13370/130885
Endolith
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.