亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 DICOM 圖像保存為無損 JPEG

將 DICOM 圖像保存為無損 JPEG

翻閱古今 2021-06-29 08:52:51
我的原始圖像是 DICOM 格式,我想以無損 jpg 格式保存它(或至少保留盡可能多的信息!?。。?。我怎么能在python中做到這一點?目前,我正在使用以下代碼生成有損 png 圖像。我稱之為有損 png,因為當我通過 dicom 瀏覽器看到 dicom 圖像時,png 圖像看起來與 dicom 圖像不同。另外,如何修改此圖像以獲取 jpg 圖像而不是 png 圖像。import numpy as npimport pngimport pydicomds = pydicom.dcmread("./MyImage.dcm")shape = ds.pixel_array.shape# Convert to float to avoid overflow or underflow losses.image_2d = ds.pixel_array.astype(float)# Rescaling grey scale between 0-255image_2d_scaled = (np.maximum(image_2d,0) / image_2d.max()) * 256# Convert to uintimage_2d_scaled = np.uint8(image_2d_scaled)# Write the PNG filewith open("out.png", 'wb') as png_file:    w = png.Writer(shape[1], shape[0], greyscale=True)    w.write(png_file, image_2d_scaled)
查看完整描述

2 回答

?
MM們

TA貢獻1886條經驗 獲得超2個贊

還有另一種使用 OpenCV 和 pydicom 庫將 Dicom 圖像轉換為 JPEG 或 PNG 格式的有效方法。下面的代碼在一次運行中將所有 dicom 圖像集轉換為 jpeg/png(使用 for 循環)。


import pydicom as dicom

import os

import cv2

# make it True if you want in PNG format

PNG = False

# Specify the .dcm folder path

folder_path = "/Image"

# Specify the output .jpg/png folder path

jpg_folder_path = "/JPGImage"

images_path = os.listdir(folder_path)

for n, image in enumerate(sorted(images_path)):

    print(os.path.join(folder_path, image))

    ds = dicom.dcmread(os.path.join(folder_path, image), force=True)

    ds.file_meta.TransferSyntaxUID = dicom.uid.ImplicitVRLittleEndian

    pixel_array_numpy = ds.pixel_array

    if PNG == False:

        image = image.replace('.dcm', '.jpg')

    else:

        image = image.replace('.dcm', '.png')

    pixel_array_numpy2 = cv2.flip(pixel_array_numpy, 0)

    cv2.imwrite(os.path.join(jpg_folder_path, image), pixel_array_numpy2)


查看完整回答
反對 回復 2021-07-06
?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

丟失信息的問題取決于像素深度,而不是圖像壓縮。您的 DICOM 圖像可能每像素大約 11 位(從 -1024 到 1023),甚至可能更多。您無需設置強度窗口即可將其轉換為 8 位圖像。

這意味著值 -1024 的原始像素變為黑色,+1023 的像素變為白色,但圖像最重要的部分,從 -100 到 +300 左右變為平均灰色。如果你對肺感興趣,那么重要的值就低,如果你想看到骨頭,那么它們就更高等等。最重要的是,你不能在單個 png/jpg/bmp 圖像上看到 DICOM 圖像的所有部分。您需要一個特殊的查看器,它允許設置灰度級??梢蕴幚砣袼厣疃鹊淖畛R姷姆轻t學格式是 TIFF,但您仍然需要一個特殊的查看器。


查看完整回答
反對 回復 2021-07-06
  • 2 回答
  • 0 關注
  • 694 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號