|
|
Bildbearbeitung mit Matrizen und Ableitungen |
|
murmillo |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 23.11.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.11.2008, 00:57
Titel: Bildbearbeitung mit Matrizen und Ableitungen
|
 |
|
 |
|
hallo,
ich bin ein absoluter matlab newbie und habe mir da eine aufgabe gestellt.
und zwar möchte ich mit hilfe der Ableitung aus einem bild ein zweites
erzeugen. dazu erzeuge ich eine matrix aus dem originalbild und möchte
dann eine zweite matrix erhalten die in den einträgen die differenz der
farbwerte enthält. ich meine den farbunterschied der von jeweils 2
einträgen resultiert. da ich bis jetzt nur mit pascal programmiert habe
weiss ich nicht ob mein quelltext so funktioniert. kann mir bitte jemand
sagen was ich falsch gemacht habe. Später würde ich das gern mit
verschieden ableitungen machen und dadurch verschiedene bilder
erhalten.das würde ich dann gern mit dieser funktion lösen.
Aber erstein mal muss diese kleine sache laufen.
--------------------------------------------
U=imread('C:\Dok~ktop\pagode.tif')
%function du1 = part_diff1(U,j,method)
[m,n] = size(U);
for i = 1 : m
for j = 1 : n-1
A = U(i,j+1)-U(i,j)
end
end
image A
colormap (256)
--------------------------------------------
|
|
|
|
|
dib0r |

Forum-Guru
|
 |
Beiträge: 413
|
 |
|
 |
Anmeldedatum: 09.05.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.11.2008, 11:11
Titel:
|
 |
Hallo,
der Fehler liegt in der Zeile
Das muss wohl
heissen.
Man sollte lange Schleifen in MATLAB möglichst vermeiden (die Rechenzeit steigt da sehr schnell an).Ich würde dir die Verwendung von
empfehlen.
für die zeilenweise Differenzierung (so wie in deinem Codeschnipsel) und
für die spaltenweise Differenzierung.
MfG
|
|
|
Maddy |

Ehrenmitglied
|
 |
Beiträge: 494
|
 |
|
 |
Anmeldedatum: 02.10.08
|
 |
|
 |
Wohnort: Greifswald
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.11.2008, 12:14
Titel:
|
 |
Die Idee mittels "diff"/ Differenzen ist wohl die erste die einem einfällt.
Der Nachteil dabei ist, dass immer nur 2 Elemente miteinander verglichen werden.
Man kann das ganze auch mittels Faltung (Convolution) lösen und so wird es in der Bildverarbeitung wohl auch häufig getan. Die Befehle in Matlab dazu lauten
mit einer entsprechend definierten Faltungsmatrix lassen sich so ableitungen, glättungen und ähnliches leicht realisieren.
Falls gewünscht, kann ich dazu noch nähere Auskünfte geben.
_________________
>> why
The computer did it.
|
|
|
murmillo |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 23.11.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.11.2008, 19:41
Titel:
|
 |
erstmal danke für die antworten,
das mit dem A(i,j) war das wichtigste, was falsch war.
inzwischen läuft das ganze program .
was ich vergessen hatte zu erwähnen, ich wollte es
gerade ohne "diff" machen.
gruss murmillo
|
|
|
|
|
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.
|
|