Das x-Derivat Sobel sieht so aus:
%Vor%Nehmen wir an, es gibt zwei Beispiele meines Bildes, die so aussehen (0 = schwarz, 1 = weiß):
%Vor%Wenn ich Faltung führe, werde ich mit 4 bzw. -4 enden.
Also wäre meine natürliche Antwort, das Ergebnis um 8 zu normalisieren und es um 0,5 zu übersetzen - Ist das korrekt? (Ich frage mich, wie Wikipedia usw. nicht finden kann, die jede Normalisierung erwähnt)
BEARBEITEN: Ich verwende den Sobel-Filter, um einen 2D-Struktur-Tensor (mit den Ableitungen dX und dY) zu erstellen:
%Vor%Letztendlich möchte ich das Ergebnis in [0,1] speichern, aber im Moment frage ich mich, ob ich das Sobel-Ergebnis normalisieren muss (standardmäßig, nicht nur, um es zu speichern) oder nicht, dh:
%Vor%Eine mathematisch korrekte Normierung für das Sobel-Filter ist 1/8, weil es das Ergebnis zu den natürlichen Einheiten einer Graustufe pro Pixel bringt. Aber in der praktischen Programmierung ist dies nicht unbedingt das Richtige.
Der Sobel-Filter ist eine Art heuristischer Ansatz, um horizontal oder vertikal differentiell zu arbeiten. Daher könnte die Normalisierung beliebig sein. Ich fand, dass folgende Normalisierung mehr Sinn macht als andere, die die Hälfte der Summe der absoluten Werte benötigen.
Tatsächlich verwendet scikit-image diesen Ansatz. z.B.
%Vor%Tags und Links image-processing discrete-mathematics