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

Hilfe colormap problem mit graustufen

 

xwinnipuhx
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 23.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 11:55     Titel: Hilfe colormap problem mit graustufen
  Antworten mit Zitat      
brauche dringend hilfe

ich lese bilder ein die anschließend verarbeitet werden sollen. der colortype der bilder ist grayscale. möchte ich mir das fertig bearbeitete(fourier) bild anschauen. ist entweder alles schwarz oder unter nutzung der colormap(gray) sieht es total scheiße aus.

wie schaff ich es, dass das fertigebild genauso von den graustufen ist wie das ausgangsbild?

striped_raw_00.tif
 Beschreibung:
eins der insgesamt 8 bilder, alle acht werden z.bsp fourier transformiert, ihre matrizen addiert und dann wieder rücktransformiert.

Download
 Dateiname:  striped_raw_00.tif
 Dateigröße:  144.55 KB
 Heruntergeladen:  900 mal
Private Nachricht senden Benutzer-Profile anzeigen


tschun
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 12:46     Titel:
  Antworten mit Zitat      
Hi,

Wie/womit stellst du die Bilder dar? (ein kurzes Codebeispiel wäre hilfreich)
Wie sind min und max der Matrix die du darstellst?
Private Nachricht senden Benutzer-Profile anzeigen
 
xwinnipuhx
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 23.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 12:53     Titel:
  Antworten mit Zitat      
Code:

% Bilder (00-0Cool aus singles_convalaria einlesen
% Bild der Größe 325x455
% Size: 455x325 (n x m)
% n -> Zeilen
% m -> Spalten


% Bild aus Ordner einlesen
fpath=['/home/schuengel/Desktop/bachelor_Programme/Bilder/singles_convalaria/'];
textlist=dir([fpath '*.tif']); % Speichern der Namen aller tif's

picture = cell(1,length(textlist));
%in img werden alle Bilder aus dem Ordner Bilder gespeichert
for k=1:length(textlist)
    img=double(imread([fpath textlist(k).name]));%./255;
   picture{k} = img;
    % ... und dann einfach mit picture{k} weiterarbeiten
end

img = picture{1};
[n,m] = size(img);



% dreidimensionale matrix, 9 matrizen in z-ebene übereinander gestapelt
C=nan(n,m,9);   % Matrix an jeder stelle den wert NAN zuweisen
             % (Zeile, Spalte, Ebene)


% Matrix C mit Bildmatrizen füllen
for k = 1:9  
     C(:,:,k) = fft(picture{k});
   % Fast-Fourier Transformation jeder Bildmatrix
end

% Transformierte Matrizen aufsummieren
S = 0;
for l = 1:9
   S = S + C(:,:,l);
end

% Inverse Fourier Transformation durchführen und neues Bild als txt-File speichern ->  mit ImageJ öffnen
newimg = ifft(S);
realImg = real(newimg);
colormap(gray)
imshow(realImg)
%save fftImg.txt newimg


 


so das ist mein code für die Fourier-analyse.
für die ausgabe als txt-datei verwende ich die komplette matrix mit real und imaginärteil, da imagej txt-dateien einlesen kann.
nur das ist mir zu umständlich, da bei speichern der daten immer noch 4 zeilen erklärung geschrieben werden
Private Nachricht senden Benutzer-Profile anzeigen
 
tschun
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 13:07     Titel:
  Antworten mit Zitat      
Also sieht das Bild nur in Matlab "komisch" per imshow komisch aus?

Standardmäßig stellt imshow alle Werte kleiner als 0 schwarz und alle größer als 1 weiß dar. Das kann man aber ändern, siehe "help imshow"

Code:

imshow(M,[LOW HIGH]);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
xwinnipuhx
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 23.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 13:08     Titel:
  Antworten mit Zitat      
max realImg = 1383
eigentlich ganz schön groß Shocked
min realImg = 9
Private Nachricht senden Benutzer-Profile anzeigen
 
xwinnipuhx
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 23.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 13:11     Titel:
  Antworten mit Zitat      
ne es sah auch nach dem speichern mit imwrite komisch aus also so

fftImg_edit.png
 Beschreibung:
als txt-datei und mit imagej geöffnet

Download
 Dateiname:  fftImg_edit.png
 Dateigröße:  56.92 KB
 Heruntergeladen:  895 mal
Bild.tif
 Beschreibung:
mit imwrite

Download
 Dateiname:  Bild.tif
 Dateigröße:  144.81 KB
 Heruntergeladen:  838 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
xwinnipuhx
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 23.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 13:16     Titel:
  Antworten mit Zitat      
so das mit low und high hat geklappt, klappt das auch beim imwrite befehl
Private Nachricht senden Benutzer-Profile anzeigen
 
tschun
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 13:22     Titel:
  Antworten mit Zitat      
Bei imwrite kann man eine Colormap übergeben, wenn du z.B. gray(256) als Colormap übergibst, sollten die Werte am besten auf den Bereich von 0 bis 255 skaliert sein.
Private Nachricht senden Benutzer-Profile anzeigen
 
xwinnipuhx
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 23.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.05.2012, 13:36     Titel:
  Antworten mit Zitat      
dann sieht mein bild wieder so schrottig aus Sad

das beste ergebnis war bis jetzt mit
Code:
imshow(realImg,[9 1383]);


kann ich das dann eigentlich auch irgendwie speichern?
Private Nachricht senden Benutzer-Profile anzeigen
 
xwinnipuhx
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 23.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2012, 10:43     Titel: problem offentsichlich durch komplexe matrix
  Antworten mit Zitat      
wenn ich ein Bild(Graustufenbild) aus meiner bildserie einlese es durch FFT transformiere und anschließend durch IFFT wieder zurücktransformiere kann ich es über imwrite nicht mehr "richtig" speichern.
Max = 242
Min = 0
auch nach der Tranaformation
Code:

a = fft(img)
b = ifft(a)
 

mit
Code:

imshow(b, [0 242])
 

bekomm ich das bild wieder richtig mit den originalfarbwerten dargestellt.

wie bekomm ich das nun bei imwrite hin?
das einfügen einer colormap(gray) hat mir bis jetzt noch nicht richtig geholfen.
Private Nachricht senden Benutzer-Profile anzeigen
 
tschun
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2012, 12:23     Titel:
  Antworten mit Zitat      
Poste doch mal den Code, mit welchen du es speichern willst.
Private Nachricht senden Benutzer-Profile anzeigen
 
xwinnipuhx
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 23.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2012, 12:29     Titel:
  Antworten mit Zitat      
der gesamte code ist ja schon weiter oben bis auf
Code:

imwrite(realImg, "name.tif")
 


und mit den graustufen dachte ich halt es geht einfach so
Code:

imwrite(realImg, gray, "name.tif")
 


jedoch ist das ergebnis echt scheiße
das hat auch noch nicht viel geholfen
Code:

newimg = ifft(S);
realImg = real(newimg);
finalImg = uint8(realImg);


imwrite(finalImg,"neu2.tif")
 


Zuletzt bearbeitet von xwinnipuhx am 16.05.2012, 12:59, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
tschun
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2012, 12:57     Titel:
  Antworten mit Zitat      
Und wie sieht es mit



Code:

imwrite(realImg, gray(243), "name.tif")
 


aus?

einfach nur "gray" erstellt eine nur Colormap mit 64 Farben
Alles über 63 hat dann die gleiche Farbe.
Private Nachricht senden Benutzer-Profile anzeigen
 
xwinnipuhx
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 23.03.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.05.2012, 13:03     Titel:
  Antworten mit Zitat      
ne bringt auch nix ....

wüsste denn jemand wie ich bei dem save befehl abschalten kann dass immer noch 4-zeilen info
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.