DICOM-Bilddaten werden in der Regel als vorzeichenlose 16-Bit-Ganzzahlen gespeichert. Daher sollten Sie vor dem Speichern sicherstellen, dass Ihr Bild in einer uint16
-Matrix gespeichert ist, damit MATLAB es als solche speichert. Bei einigen Bildformaten erfordert MATLAB außerdem, dass wir explizit die Bittiefe angeben.
% Save as a 16-bit Baseline JPEG with the highest quality
imwrite(uint16(data), 'image.jpg', 'Quality', 100, 'BitDepth', 16);
% Save as a 16-bit Lossless JPEG
imwrite(uint16(data), 'image.jpg', 'Mode', 'lossless', 'BitDepth', 16)
% Save as a 16-bit JPEG 2000 Image
imwrite(uint16(data), 'image.jp2', 'Mode', 'lossless')
Wenn Sie keine JPEG aus einem bestimmten Grund benötigen, würde ich eine PNG (verlustfrei) empfehlen.
% Save as 16-bit PNG
imwrite(uint16(data), 'image.png')
Die vollständige Liste der verfügbaren 16-Bit-Formate here.
Zur Visualisierung in MATLAB, können Sie den zweiten Eingang zu imshow
(oder verwenden Sie imagesc
) angeben, automatisch innerhalb des Bildes
imshow(data, []) % or imagesc(data); axis image;
Möchten Sie sehen das gleiche Bild, die angezeigten Grauwerte auf die Daten zu skalieren auf MATLAB, das momentan nicht verfügbar ist (schwarzes Bild)? – Jeon
Das Bild, das Sie in Matlab sehen, zeigt die gesamte Palette der Grauwerte. Wenn Sie den Kontrast anpassen (zum Beispiel mit imshow (image, [])), dann sehen Sie das selbe wie mit dem dicom viewer – Dave