Zitat:
Zitat von ogni42
Sofern das Muster immer noch viereckig ist, sollte das aber klappen. Es wird eigentlich erst dann kompliziert, wenn die Verzerrung nicht über das Bild hinweg konstant ist.
Leider wird aber genau das nahezu immer der Fall sein. Die Größe der Kästchen kann mehr oder weniger stark variieren, und die Verzerrungen können je nach Position auch unterschiedlich ausfallen.
Zitat:
Wenn Du einfach ein Weisses oder Schwarzes Feld nimmst und über das Originalbild per Kreuzkorr laufen lässt sollten sich Minimal nud Maxima ergeben, die in den Zentren der jeweilgen Felder liegen. Durch angenommen die Felder sind rechteckig, kannst Du dann die Feldgrenzen Interpolieren.
Wenn sie wirklich alle noch genau rechteckig wären ja, aber im allgemeinen Fall muss man eher von Trapezen oder Parallelogrammen ausgehen.
Zitat:
kannst Du nochmal an einem Beispiel zeigen, wie das "durch die Summe der RGB-Kanäle dividierte" Bild und das Gradientenbild aussieht?
natürlich...
ich habe hier mal ein Beispielbild, das dazugehörige Summenbild (R+G+B), das durch die Division entstandene korrigierte Bild, und das aus diesem korrigierten Bild gewonnene Gradientenbild. Damit User ohne DSL nicht gar zu sehr gequält werden, gibt es diese Bilder (obwohl ich sie schon etwas verkleinert habe) diesmal nur als Links :wink:
1. Original
2. "Helligkeit"
3. korrigiertes Bild
4. Gradient
Zitat:
Meines Wissens berechnet sich der Grauwert eines Bildpunktes aus den RGB-Werten nach
Grauwert = 0,299R + 0,584G + 0,114B (siehe Wikipedia)
Naja, ich denke die Frage ist einfach wie man Helligkeit definiert...
ich habe das Bild in den HSI-Farbraum umgewandelt, und da war die Definition I=R+G+B. Letztendlich entspricht das auch am besten den Eigenschaften die das Muster ohnehin schon hat, denn die Summe aller 3 Kanäle ist überall 1 (bedingt durch den Beamer und die Kamera stimmt das natürlich nicht mehr 100%ig).
Zitat:
wenn du einfach eine pixelersetzung drüberlaufen lässt erst in x dann in y richtung sollte so aussehen :
[ 1 0 -1]
und
[1
0
-1]
sollten die kanten doch hervorgehoben werden ?
Klar, sowas ähnliches mache ich ja auch...
dein Beispiel sieht mir nach einem Prewitt-Operator aus, ich verwende den sog. Sobel-Operator:
Code:
1 0 -1
2 0 -2
1 0 -1
der funktioniert fast genauso, nur daß er das Ergebnis in Kantenrichtung nochmal ein bischen glättet.
Zitat:
das mit dem gradient sollte allerdings auch gehen, .. was passiert denn wenn du ein RGB bild hast und jeweils den gradienten für jeden kanal bildest? dann sollt die summe der 3 ergebnisse das gesuchte gitter sein
Das mache ich doch...
mit dem Unterschied daß ich nicht die Summe der 3 Gradientenbilder verwende, sondern das Maximum.