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

Farbbild: Hintergrund-Informationen löschen

 

Donny
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 29.05.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.06.2015, 13:05     Titel: Farbbild: Hintergrund-Informationen löschen
  Antworten mit Zitat      
Hallo Leute,

hoffe der Titel ist verstädnlich, da es schon ein sehr spezielles Anliegen ist.

Background:

Ich habe ein gegebenes (3D) Volumen, welches ich diskretisiere, bzw. in Voxel (beliebige Größe) unterteile. Diese Voxel fülle ich dann mithilfe verschiedener Randbedingungen(RB) mit werten. Sinngemäß: RB erfüllt? wenn ja=> Voxel = Voxel +1, wenn nein => Voxel = Voxel +1.

Hier aber noch einmal der Code dafür:
Code:


if Maniplty(i,1) > mean(Maniplty)

     voxelInd_temp = sub2ind(size(MatManipulierbarkeit),ind_temp(1),ind_temp(2),ind_temp(3));
     MatManipulierbarkeit(ind_temp(1),ind_temp(2),ind_temp(3)) = MatManipulierbarkeit(ind_temp(1),ind_temp(2),ind_temp(3))+1;
     configsMan(i,:) = [voxelInd_temp i];
 
else
     voxelInd_temp = sub2ind(size(MatManipulierbarkeit),ind_temp(1),ind_temp(2),ind_temp(3));
     MatManipulierbarkeit(ind_temp(1),ind_temp(2),ind_temp(3)) = MatManipulierbarkeit(ind_temp(1),ind_temp(2),ind_temp(3))+0;
     configsMan(i,:) = [voxelInd_temp i];

   
end
 


Jetzt möchte ich die entstandene gewichtete Matrix in ein Farbbild konvertieren und abspeichern. Eine passende Colormap (hier MapMan) erstelle ich ebenfalls.

Code:

for k = 1:length(MatManipulierbarkeit(1,1,:))
   
A = ones(size(MatManipulierbarkeit));
A(MatManipulierbarkeit == 1) = 0;      % 100% transparent
   
imwrite(ind2rgb(MatManipulierbarkeit(:,:,k),MapMan),['Slicer_Images/Manipulierbarkeit/img' num2str(k) '.png'],'bitdepth',16,'Alpha',A(:,:,k))
end

 



So nun zum Problem: Ich möchte alle "Voxel" bzw Matrixeinträge, die Null sind vernachlässigen und nur die Bildinformationen mit Werten >0 in ein Farbbild umwandeln. Das Ergebnis soll dann ein Bild mit unterschiedlich farbigen Punkten sein. Das Erstellen der farbigen "Punktewolke" klappt auch ganz gut, jedoch werden die Bereiche, deren Einträge Null sind auch eingefärbt und in das Bild übertragen.

Ich möchte jedoch die entstandene farbige Punktewolke, d.h. nur dir Bildinformationen >0 in dem Bild haben, damit ich die entstandenen Bilder in ein Bildverarbeitungsprogramm (hier 3D Slicer) einlesen kann und daraus wieder in 3D Volumen bilden kann. Mit Graustufen Bildern funktiert es komischerweise.(Siehe Bilder & Kommentare).

Wie im Code zu sehen, habe ich auch versucht den Hintergrund, also alle "Null-Einträge" auszublenden über die Transparenz. Hat leider nicht funktioniert und nun weiß ich nicht weiter.

Ich hoffe das Problem ist klar geworden und jemand kennt eine Lösung dafür Very Happy

Dann schon einmal vielen Dank fürs lesen Very Happy

Gruß
Donny

colorpic.png
 Beschreibung:
Hier sieht man nun die Farbbilder. Man kann schön die einzelnen farbigen "Voxel" erkennen. Jedoch sieht man oben rechts, dass das Volumen nicht dem realen Volumen entspricht. Es sieht aus wie ein schwarzer Würfel. Und genau das ist das Problem

Download
 Dateiname:  colorpic.png
 Dateigröße:  618.41 KB
 Heruntergeladen:  491 mal
greypic.png
 Beschreibung:
Hier sieht man ein paar erstellte Graustufenbilder. In dem Bild rechts oben sind dann alle erstellten Bilder wieder zu einem Volumen zusammengefügt. In diesem Fall eine Kugel (abgeflacht an den Strinseiten)

Download
 Dateiname:  greypic.png
 Dateigröße:  504.21 KB
 Heruntergeladen:  527 mal
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.