Данные изображения DICOM обычно сохраняются как 16-разрядные целые числа без знака, поэтому вы должны убедиться, что ваше изображение хранится в матрице uint16
до сохранения, поэтому MATLAB знает, как сохранить его как таковой. Кроме того, для некоторых форматов изображений MATLAB требует, чтобы мы явно указывали глубину бит.
% 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')
Если вам не нужен JPEG по какой-либо конкретной причине, я бы порекомендовал PNG (без потерь).
% Save as 16-bit PNG
imwrite(uint16(data), 'image.png')
Полный список доступных 16-битных форматов here.
Для визуализации в MATLAB, вы можете указать второй вход в imshow
(или использовать imagesc
) для автоматического масштабирования отображаемых полутоновых значений в данных пределах изображения
imshow(data, []) % or imagesc(data); axis image;
ли Вы хотите увидеть то же изображение на MATLAB, который в настоящее время недоступен (черное изображение)? – Jeon
Изображение, которое вы видите в Matlab, показывает полный диапазон значений серого. Если вы отрегулируете контраст (например, используя imshow (изображение, [])), то вы увидите то же самое, что и с dicom viewer. – Dave