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

Dateien automatisch abarbeiten

 

Harp
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 26.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2011, 18:25     Titel: Dateien automatisch abarbeiten
  Antworten mit Zitat      
Hallo,

ich habe mehrere Bilder (Matrizen 512x512). Oft erstreckt sich das Bild aber nicht über alle Pixel, weshalb ich die leeren Pixel "Nullen" wegschneiden will. Mit Hilfe von Büchern und dem Forum hier, habe ich bisher den folgenden Code:

Code:
%
%Matrix "Vortex" importieren

A=Vortex;
A(all(A==0,2),:)=[];      % Löscht alle Zeilen, die komplett (all) mit Nullen gefüllt sind.
A(:,all(A==0))=[];         % Löscht alle Spalten, die komplett mit Nullen gefüllt sind.

%Arbeitsverzeichnis wählen (oben).

dlmwrite('vortex.dat', A, '\t')


Das ganze tut auch super, aber es ist einfach zu umständlich, jede Datei einzeln zu laden, bearbeiten u. speichern.

Mein Problem: Wie bekomme ich es hin, dass alle Dateien in einem Verzeichnis (etwa 100) geladen werden, beschnitten und wieder abgespeichert werden, mit dem gleichen Dateiname + Buchstabe.

Bsp: Datei "vortex0023.dat" soll beschnitten werden und dann "vortex0023c.dat" heißen.

Ich komme da einfach nicht weiter, ich hoffe Ihr könnt mir helfen.

Viele Grüße

Harp
Private Nachricht senden Benutzer-Profile anzeigen


Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 26.01.2011, 19:09     Titel:
  Antworten mit Zitat      
Hallo,

verwende doch bitte die Forumsuche, sowohl der Import als auch der Export von Daten sind hier aller 2 Tage Thema und wurde schon sehr oft besprochen und ausfuehrlich beantwortet.

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
Harp
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 26.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2011, 12:27     Titel:
  Antworten mit Zitat      
Hallo, tut mir leid, wenn ich mich jetzt erst wieder melde, war abwesend.

Es ist ja nicht so, dass ich nicht schon im Forum gesucht habe. Ich habe auch schon einiges ausprobiert, aber es tut eben nicht... Wink

Ich sollte vielleicht noch hinzufügen, dass ich ein absoluter Matlab-Neuling bin und mich mit dem Programm nicht wirklich auskenne.

Ich habe mal den folgenden Code ausprobiert:

Code:

path = 'D:\EIGENE DATEN\Matlab Test\Daten';
liste = dir(path);
files = {liste.names};
for k=1:numel(files)
    % einlesen der Dateien
    fid = fopen(fullfile(path,files{k}),'r');
    daten{k} = textscan(fid,'%s');
    fclose(fid);
end

 


Das Ergebniss ist

Code:

??? Reference to non-existent field 'names'.
 

Was hat das zu bedeuten?

Gruß

Harp
Private Nachricht senden Benutzer-Profile anzeigen
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 01.02.2011, 12:43     Titel:
  Antworten mit Zitat      
Hallo,

na das sieht doch schonmal gar nicht schlecht aus. Die Fehlermeldung besagt, dass es in dem Struct "liste" kein Feld mit den Namen "names" gibt! Schau dir doch einfach mal dieses Struct an. Es gibt nur ein Feld mit den Name "name" (NICHT names), also war es ein Tippfehler. Des weiteren musst du nun die for-Schleife bei 3 beginnen lassen da die ersten beiden "files" nur "." und ".." sind. Folgender code funktioniert mit diesen beiden Aenderungen:

Code:

path = 'D:\EIGENE DATEN\Matlab Test\Daten';
liste = dir(path);
files = {liste.name};
for k=3:numel(files)
    % einlesen der Dateien
    fid = fopen(fullfile(path,files{k}),'r');
    daten{k-2} = textscan(fid,'%s');
    fclose(fid);
end
 


MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
Harp
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 26.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2011, 12:58     Titel:
  Antworten mit Zitat      
Cool, vielen Dank. Das sieht doch schon mal besser aus.

In files stehen sogar die Dateinamen. Wink

Mir ist jetzt nicht klar, mit welcher Funktion ich meinen Code auf die einzelnen Dateien an wende.

Viele Grüße

Harp
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 - 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.