Ich weiß, es ist vielleicht Offtopic, da es (noch) nicht direkt mit der Programmierung in Python zusammenhängt, sondern zunächst um eine prinzipielle mathematische Frage geht:
Mir liegt eine Matrix aus z-Koordinaten vor, die eine Fläche abbilden. Ich möchte nun die Gradienten der Einträge berechnen und plotten. Ich habe dies bereits mit Differenzenquotienten in x- und y getan und das Ergebnis sieht gut aus; Nachteil dieser Methode ist jedoch, dass eine Matrix mit anderen Dimensionen herauskommt, und die Gradienten für jeden Eintrag ja nur leicht versetzt an diesem gelten.
Daher wurde mir hier im Forum der Sobel-Operator empfohlen. Diesen habe ich exemplarisch auf eine fiktive Matrix angewandt. Kann hier wer bitte drüberschauen, ob das so korrekt ist?
![Bild](https://bilderupload.org/image/thumbnail/resized-30bb75481-sobel.png)
Die erste auf der Abbildung zu sehende Matrix ist die Ausgangsmatrix. Die erste Zeile und Spalte stellen die Rasterkoordinaten in x und y dar (also an welchen Stellen in x- und y die inneren Matrixeinträge gemessen wurden) dar und sind nicht weiter zu beachten. Die roten Zahlen sind die z-Koordinaten, zu denen es Gradienten zu berechnen gilt.
Die Berechnung von Gx und Gy, bzw Gges habe ich drunter angefügt .
Die Gradientenmatrix belege ich an erste bzw. letzte Zeile und Spalte mit 0 (Randproblem); den ersten berechneten Eintrag habe ich an den in meinen Augen richtigen Stelle eingetragen
Stimmt das so? Gibt es verbesserungswürdiges?
Besten Dank für eure Hilfe!!!