Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
Delphi 11 Alexandria
|
AW: Sobel Normalisierungsschritt
12. Mai 2017, 19:41
Hallo Medium
Die Angabe im von dir zitierten Artikel ist falsch.
Mein Programm und die Angaben des möglichen Maximums von g beziehen sich auf den "üblichen" "3x3 Sobel".
Der Gradient g ist ein Vektor im R^2; g hat also eine x Komponente gx und eine y Komponente gy.
Die Länge von g (das Mass für die Helligkeitsänderung) ist nicht wie im von dir verlinkten Artikel behauptet abs(gx)+abs(gy) [das Maximum dieser Funktion ist effektiv 255-a+510+b+255-b+510+a=1530; aber das nützt uns nix, da der Ansatz falsch ist].
Die Länge von g ist sqrt(gx*gx+gy+gy). Du musst also wie weiter oben beschrieben wird (gx*gx+gy+gy)(a,b) maximieren, d.h. ableiten nach a und b und Nullstellen suchen. Lösungen nach kurzer Rechnung
(a,b)=(0,255) und (a,b)=(255,0), Maximum berechnen durch Einsetzen der Lösungen in (gx*gx+gy*gy) ergibt ein Maximum von max(g^2)=1300500 oder max(g) = 1140.4.
Michael Gasser
|