我有一個DICOM圖像,當我在MATLAB打開它,它是這樣的:如何DICOM圖像保存爲JPEG格式,而不會丟失信息
然而,當我看到通過dicomviewer就是這個樣子:
我如何保存這些DICOM圖像沒有失去他們的.jpeg格式的信息,由於壓縮過程? 我想保存圖像,以便我可以檢索相同的信息,因爲我從相應的dicom圖像中獲取。 這可能嗎?
我有一個DICOM圖像,當我在MATLAB打開它,它是這樣的:如何DICOM圖像保存爲JPEG格式,而不會丟失信息
然而,當我看到通過dicomviewer就是這個樣子:
我如何保存這些DICOM圖像沒有失去他們的.jpeg格式的信息,由於壓縮過程? 我想保存圖像,以便我可以檢索相同的信息,因爲我從相應的dicom圖像中獲取。 這可能嗎?
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;
您能澄清一下您的16位JPEG格式嗎? JPEGXR? JPEG2000? –
@MarkSetchell我已經添加了一個文檔鏈接,它解釋了更多的細節以及添加了創建無損和JPEG2000圖像的命令。 – Suever
執行內自動縮放顯示的灰度值的數據在MATLAB上,這是目前不可用(黑色圖像)? – Jeon
您在Matlab中看到的圖像顯示全部灰度值。如果您調整對比度(例如通過使用imshow(圖像,[])),那麼您將看到與使用dicom查看器相同的結果 – Dave