Wenn ich nicht normiere dann varrieren die Werte von minimal -4*256 bis maximal 4*256 in den beiden "Teilbildern".
Ja, deswegen meinte ich ja, dass die so gemappten Bilder nur zum Angucken taugen. Werte jenseits von -1 und 1 sind recht seltene Extrema in Fotos, und wenn man etwa -4 bis 4 auf 0 bis 255 mapped wird das Bild überwiegend wie 50% Grau aussehen. Geht natürlich auch, fand ich zum zwischen drin mal beschauen aber nicht so prima.
Zitat:
Im naechsten Schritt - sqrt(Gx*Gx + Gy*Gy) - sollten aehnliche Werte rauskommen. Am Ende muesste ich doch diese Bereiche auf (0..255) mappen oder nicht?
Nur, wenn du das Gradienten-"Bild" anzeigen willst. Letztlich willst du doch eigentlich nur deine Kanten haben, oder? Der Sobel-Schritt wird also am Ende nie angezeigt. Warum sollte man ihn dann auf Bitmap-Werte umrechnen? Einfach so lassen wie es aus der Filterung kommt, und damit die Non-Maxima-Unterdrückung machen. Was davon übrig bleibt dann als S/W Bild nehmen (Kanten weiss, Rest schwarz) oder wie auch immer weiter damit arbeiten. Aber löse dich davon, dass die Zwischenschritte "Bilder" sind. Man kann sie zur Anzeige als solche interpretieren und daraufhin anpassen, aber an sich sind das nur noch große Matrizen mit "irgendwelchen" Werten. Deswegen plädiere ich auch dafür, dass man das TBitmap als Container für diese nicht nimmt.
Zitat:
Also ich rechne jetzt mal ohne Normierungsfaktor fuer die Sobel Matrizen die Werte fuer beide Sobel operatoren aus und anschliessend das finale Sobel Ergebnis. Danach bestimme ich die maximalen negativen und positiven Werte. Dann skaliere ich, so dass alle Werte zwischen 0 und 255 liegen. Richtig?
Jain, s.o.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)