|
|
Bildverarbeitung Fehlerkorrektur |
|
Matalps |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 05.06.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.06.2013, 10:05
Titel: Bildverarbeitung Fehlerkorrektur
|
 |
|
 |
|
Sehr geehrte Forumianer,
ich lese seit geraumer Zeit hier mit und bin über den Umgangston hier im Forum angenehm überrascht. Ich habe auch gleich ein Problem, welches ich hier gerne zur Diskussion stellen möchte.
Ich nehme mit einem Interferometer topographische Höhenwerte auf.
Es gibt in meinen Bildern jedoch immer Bereiche, welche schwarz sind, da kein Licht rückreflektiert wurde (bedeutet in meinem Vektor steht ein Inf an den besagten stellen.) Nun würde ich gerne ein Programm schreiben, welches die einzelnen Vektorelemente miteinander verlgeicht, und wenn eine sehr große Abweichung von einem Pixel zum nächsten auftaucht den Wert des vorangegangenen Pixels in das neue Pixel schreibt.
Hier mein Code:
Wenn ich mir anschließend die Matrix Plotten lasse hat diese for Schleife jedoch keinerlei Auswirkung auf das Bild
Macht es Sinn das so zu Programmieren, oder gibt es die Möglichkeit alle Bereiche, in denen Inf steht mit dem Mittelwert der umgebenden Pixel (also des Randes) zu füllen? Bzw. ist die Arbeit im Vektor sinvoller oder in der "reshapeden" Matrix?
Vielleicht könnt ihr mir helfen.
Danke schomal
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 05.06.2013, 10:28
Titel: Re: Bildverarbeitung Fehlerkorrektur
|
 |
Hallo Matalps,
Herzlich willkommen im Forum!
Ich freue mich auch immer wieder über den Umgangston hier.
Die Schleife läuft zwar über "m", aber "m" wird innerhalb der Schleife gar nicht benutzt. Wenn "2*A(i)<A(i+1)" wird "i" nicht erhöht und "A(i)=A(i)" macht gar nichts sinnvolles.
Vielleicht meinst Du:
Zitat: |
Gibt es die Möglichkeit alle Bereiche, in denen Inf steht mit dem Mittelwert der umgebenden Pixel (also des Randes) zu füllen? |
Die Möglichkeit gibt es:
Wenn das Problem in 2-dimensional ist, sollte man das eigentlich auch berücksichtigen. Die kann z.B. hiermit erledigt werden:
http://www.mathworks.com/matlabcent.....in-1-d-2-d-3-d-n-d-arrays
http://www.mathworks.com/matlabcent.....exchange/4551-inpaintnans
Gruß, Jan
|
|
|
Matalps |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 05.06.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.06.2013, 16:40
Titel:
|
 |
Hallo, Danke nochmal die Tipps waren prima - ich habe mich dazu entschlossen das Problem in 2D anzugehen - das hat wirklich prima geklappt und die Ergebnisse sehen fast zu gut aus!
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|