Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Blatt 09 - Aufgabe 1d)
Abend,
Bei dieser Teilaufgabe steh ich total auf dem Schlauch. Wie genau löst man denn das Problem ∆I = ∆U?
∆I haben wir ja in der c) berechnet und in m_laplacianImageMap geschrieben. Und jetzt? :huh:
Nach einem durchstöbern der Vorlesungskripts ist mir die Folie 40 im PDF 15_IterativeVerfahrenVektor aufgefallen, doch kann ich damit nicht viel anfangen… :huh:
Bis jetzt hab ich einfach solve so implementiert, dass ich die Pixel von m_image durchlaufe und den aktuellen Pixel + alle Nachbaren von m_image in calculateSORPixel schmeiße und den Rückgabewert in an die verschobene Stelle (Startwerte) in m_resultPoisson schreibe. So weit, so gut. ← hier war der fehler
Soll man als Parameter laplace den Wert aus m_laplacianImageMap nehmen? (soll man)
Dann sind wir also in der Methode calculateSORPixel, in der man die Werte earlier und recent an eine weitere Methode übergeben soll (uff). :nuts:
Eine Suche im Forum hat folgendes zu Tage gefördert (alte Threads von '13 und '14):
earlier = center;
recent = (laplace - ((left + right + up + down) * coeff_neigh)) / coeff_cent; (coeff_neigh = 1, coeff_cent = -4?)
Wenn man nun aber die beiden “Formeln” von den alten Threads verwendet hat man ja hSquared nirgends verwendet, und wenn man jetzt laplace = calculateLaplacianPixel(…) setzt, hat man hSquared untergebracht, aber der übergebene Parameter laplace wird nirgends verwendet. Das dreht sich irgendwie im Kreis
Und die letzte Methode ist soweit ich das verstanden habe ganz simpel, den alten mit 1-omega gewichten und zum aktuellen, gewichtet mit omega, hinzu addieren. :scared:
Wenn ich also diese Spaghetti zusammen würfle, kriegt ich eine Mona Lisa mit der Maske ganz in schwarz im Gesicht. Wenn ich earlier und recent vertausche (einfach weil mir nix besseres einfällt), sieht das ganze etwas besser aus aber immer noch nicht wirklich überzeugend. (Bild)
Kann mir jemand auf den richtigen Weg helfen? :-/
Vielen Dank im Voraus!
EDIT: Es hat sich rausgestellt, calculateSORPixel ist genau so einfach wie die Methode für Omega… war nur ein Denkfehler meinerseits und ich habe die Methoden falsch verwendet, ich denke große Tipps kann ich hier für evtl. spätere Leser nicht geben, da das schon sehr nahe an der eigentlichen Lösung ist :rolleyes: