2016-04-12 16 views
2

Ich mache gerade ein Projekt und ich benötige die Verwendung einiger HOG-Merkmale (Histogramm von orientierten Gradienten). Früher habe ich die folgende Zeile:Was ist die Ausgabe der Funktion extractHOGFeatures in Matlab?

[features, visualization] = extractHOGFeatures(img);

Es ist wie features aussieht, ist ein Vektor von Gradienten Intensitäten, während visualization eine Struktur ist, die ein wenig von Informationen enthält. Aber was ich wissen möchte ist, wo bekomme ich die tatsächlichen Winkelwerte? Wie kann ich herausfinden, wie viel Prozent der Farbverläufe in diesem Bild zum Beispiel zwischen den Winkeln 0 und 40 Grad liegen?

Antwort

2

Dies ist nicht wirklich was HOG Funktionen sind. Der HOG-Merkmalsvektor ist eine Verkettung von Gradientenorientierungshistogrammen, die über überlappende Pixelblöcke berechnet werden, die wiederum in Zellen unterteilt sind. Es ist eine gute Darstellung für Trainingsklassifikatoren Objekte zu erkennen, aber keine gute Möglichkeit zu bestimmen, wie viel Prozent der Gradientenorientierungen zwischen 0 und 40 Grad liegen. Dafür wäre es besser, den Gradient des Bildes selbst mit imgradient zu berechnen und die Ausrichtung zu bestimmen.

Um ein intuitives Gefühl dafür zu bekommen, was Ihre HOG Merkmalsvektor bedeutet, können Sie das Visualisierungsobjekt verwenden können:

plot(visualization); 
+0

Dank Dima! Das ist es, womit ich endete. – user3642365