matlab 如何将DICOM图像保存为JPEG格式而不丢失信息

a7qyws3x  于 6个月前  发布在  Matlab
关注(0)|答案(1)|浏览(87)

我有一个dicom图像,当我在MATLAB中打开它时,它是这样的:


的数据
然而,当我看到通过dicomviewer它是这样的:



如何保存这些dicom图像而不会由于压缩过程而丢失.jpeg格式的信息?我想保存图像,以便我可以从相应的dicom图像中检索相同的信息。

wswtfjt7

wswtfjt71#

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位格式的完整列表。
对于MATLAB中的可视化,可以将第二个输入指定为imshow(或使用imagesc),以自动将显示的灰度值缩放到图像中的数据

imshow(data, [])    % or imagesc(data); axis image;

相关问题