Hi,

ich bin nicht so fit in C, deshalb kann ich zu deinem Code nichts sagen.

Dein Bild ist im wesentlichen identisch mit dem im Wiki, d.h. die eigentliche Transformation hast du hingekriegt.

Bei der Kombination der Ergebnisse G=sqrt(Gx*Gx + Gy*Gy) müssen wegen des Quadierens immer größere positive Ergebnisse entstehen, d.h. die ganze Sache wird grauer.

Versuche folgendes:
Nur Werte, die einen bstimmten Schwellwert übersteigen, werden hell dargestellt. Den Rest auf den Bereich 0..255 (oder 0..1 je nach Definition) strecken oder stauchen.

Also:
Min: 0
Max: 477
Schwellwert (Sw): 70

Faktor (F) = 255 / (Max - Sw) = 255 / (477-70)

x'= (x-Sw)*Faktor
x''= if (x' >= 0) then x' else 0

(ist jetzt nicht C, sollte aber trotzdem klar sein )

Sw kann man jetzt variieren.

Schau vielleicht einmal hier nach:
http://homepages.inf.ed.ac.uk/rbf/HIPR2/filtops.htm
http://www.codeproject.com/cs/media/...essing_Lab.asp
http://www.medialab.ch/archiv/pdf_st...1sa01/?C=D;O=A
http://wwwcg.in.tum.de/Teaching/SS20...nev/Folien.pdf

Gruß Red Baron