Opencv Kantenextraktion
-
05-09-2019 - |
Frage
Ich habe ein Bild, und ich möchte ein Kanten-Histogramm erstellen. I dividieren, das Bild in Bildblöcke 1100 und versuchen Rand und seine Richtung zu finden (horisontal, vertikal, 45 ° diagonal, 135 ° diagonal oder ungerichtete) in jedem Block.
Wie kann ich extrahieren, dass Informationen über Kanten? Haben Sie irgendwelche Ideen?
Viele Grüße!
Lösung
fand ich die Antwort in diesem Beitrag. Effiziente Nutzung von MPEG-7 Kanten-Histogramm Descriptor von Won
Mein Ziel war es zu finden, die die Kanten:
Won jeden Bildblock in 4 Teile unterteilen, den durchschnittlichen Graupegel in jedem von ihnen berechnen und verwenden, um die folgenden Koeffizienten:
Wir verwenden diese Koeffizienten wie folgt und Sie erhalten 5 Werte:
Schwellwertbildung Verwendung wir jede Art der Kante schätzen:
program SetEdgeType(max, m_nd, m_h, m_v, m_d_45, m_d_135)
{
if (max < TEdge) then EdgeHisto(0)++
else
{
if (m_nd > T0) then EdgeHisto(1)++
if (m_h > T1) then EdgeHisto(2)++
if (m_v > T1) then EdgeHisto(3)++
if (m_d_45 > T2) then EdgeHisto(4)++
if (m_d_135 > T2) then EdgeHisto(5)++
}
endif
return(EdgeHisto)
}
Threshold-Werte wurden durch Savvas A. Chatzichristofis ausgewählt sein:. TEdge = 14, T0 = 0,68, T1 = T2 = 0,98