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

Labelmatrix

 

Vicky
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 10.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2008, 15:51     Titel: Labelmatrix
  Antworten mit Zitat      
Hallo zusammen,

ich bin verzweifelt, weil ich nicht mehr weiter weiß und somit hoffe ich, dass mir hier jemand weiterhilft.

Als Ausgangsbild liegt mir ein segmentiertes .bmp Bild vor. Mit Hilfe des Kommandos "bwlabel" erhalte ich eine Labelmatrix. In dieser Matrix steht eine 0 für den Hintergrund, eine 1 für ein Objekt, eine 2 für ein weiteres Objekt usw.

Ich will die Labelmatrix als Bild so speichern, dass in den einzelnen Pixeln das entsprechende Matrixelement steht.

Mein Problem ist, wenn ich die Labelmatrix als Bild speicher in den einzelnen Pixeln rgb-Werte stehen. Es sollen aber wie gesagt die Label in den Pixeln stehen, so dass anhand der Label die Zugehörigkeit zu den einzelnen Objekten bestimmt werden kann.

Wie ist es möglich nicht die rgb-Werte in den Pixeln stehen zu haben sondern die Label?

Dies ist mein Code:
Code:

image1 = imread('image.bmp');

image1 = im2bw(image1);

L1 = bwlabel(image1, 8);

imwrite(L1, 'myImage.bmp');
 


Bitte helft mir weiter.

Viele Grüße
Vicky
Private Nachricht senden Benutzer-Profile anzeigen


dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2008, 16:17     Titel:
  Antworten mit Zitat      
Hallo,

teile am besten alle Werte durch 255 bevor du die Matrix speicherst.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Vicky
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 10.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2008, 16:36     Titel:
  Antworten mit Zitat      
Hallo,

in der Matrix L1 stehen Integerwerte, wie z. B. 0, 1, 2,...
Nach dem Speichern durch imwrite stehen in den Pixeln rgb-Werte. D. h. für die 0 steht eine 0 und für alle Integerwerte ungleich 0 eine 255.

In jedem Pixel sollen die Integerwerte aus der Matrix stehen.

Wie soll das mit dem Teilen durch 255 gehen? Ich habe das nicht verstanden.

Viele Grüße
Vicky
Private Nachricht senden Benutzer-Profile anzeigen
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2008, 18:44     Titel:
  Antworten mit Zitat      
Hallo,

Code:

image1 = imread('image.bmp');

image1 = im2bw(image1);

L1 = bwlabel(image1, 8);

imwrite(L1/255, 'myImage.bmp');


image2 = imread('myImage.bmp');
image2


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Vicky
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 10.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2008, 19:41     Titel:
  Antworten mit Zitat      
Hallo,

vielen Dank für deine Bemühungen.
Damit klappt das wunderbar.

Jetzt habe ich aber dennoch eine Frage.

Das Bild ist nach wie vor ein rgb-Bild.
Ist es möglich nur einen einfachen scalaren Wert in den einzelnen Pixeln zu speichern? Der scalare Wert kommt aus der Labelmatrix.

Es ist auch nicht unbedingt nötig das Bild als .bmp zu speichern.

Es wäre nett von dir mir nochmal zu helfen

Viele Grüße
Vicky
Private Nachricht senden Benutzer-Profile anzeigen
 
dib0r
Forum-Guru

Forum-Guru


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

nein, das Bild ist ein Grauwert-Bild. Für jedes Pixel gibt es genau ein Skalar. Ansonsten kann dir
Code:
vielleicht weiterhelfen, das ist eine Auflistung aller von MATLAB unterstützten Bildformate.

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