WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Bildbearbeitung mit Matrizen und Ableitungen

 

murmillo
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 23.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.11.2008, 01:57     Titel: Bildbearbeitung mit Matrizen und Ableitungen
  Antworten mit Zitat      
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.

Smile


--------------------------------------------

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)



--------------------------------------------
Private Nachricht senden Benutzer-Profile anzeigen


dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2008, 12:11     Titel:
  Antworten mit Zitat      
Hallo,

der Fehler liegt in der Zeile
Code:
A = U(i,j+1)-U(i,j)
Das muss wohl
Code:
A(i,j) = U(i,j+1)-U(i,j)
heissen.

Man sollte lange Schleifen in MATLAB möglichst vermeiden (die Rechenzeit steigt da sehr schnell an).Ich würde dir die Verwendung von
Code:
empfehlen.

Code:
A = diff(U,[],2);
für die zeilenweise Differenzierung (so wie in deinem Codeschnipsel) und
Code:
A = diff(U,[],1);
für die spaltenweise Differenzierung.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 24.11.2008, 13:14     Titel:
  Antworten mit Zitat      
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

Code:
conv % für z.B. Signale
conv2 % für z.B. Bilder


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.
Private Nachricht senden Benutzer-Profile anzeigen
 
murmillo
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 23.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2008, 20:41     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.