pythonはdicom画像をjpgピクチャの例に変換します。
主な原理:dicomの窓の幅を調整し、各画素点の階調値を[0,255]の範囲に拡大する。
使用したpythonライブラリ:SimpleITK
以下はdicom(.dcm)の画像をjpgの画像に変換するデモです。
使用したpythonライブラリ:SimpleITK
以下はdicom(.dcm)の画像をjpgの画像に変換するデモです。
import SimpleITK as sitk
import numpy as np
import cv2
def convert_from_dicom_to_jpg(img,low_window,high_window,save_path):
lungwin = np.array([low_window*1.,high_window*1.])
newimg = (img-lungwin[0])/(lungwin[1]-lungwin[0]) #
newimg = (newimg*255).astype('uint8') # [0,255]
cv2.imwrite(save_path, newimg, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
if __name__ == '__main__':
# dicom jpg
dcm_image_path = '/DICOM_image/lung001.dcm' # dicom
output_jpg_path = 'JPG_image/lung001.jpg'
ds_array = sitk.ReadImage(dcm_image_path) # dicom
img_array = sitk.GetArrayFromImage(ds_array) # array
# SimpleITK zyx, , , img_array shape
# (1,height,width)
shape = img_array.shape
img_array = np.reshape(img_array, (shape[1], shape[2])) # array height width
high = np.max(img_array)
low = np.min(img_array)
convert_from_dicom_to_jpg(img_array, low, high, output_jpg_path) # , jpg
print('FINISHED')
以上のpythonでdicomの画像をjpgの画像に変換した例は、小編集が皆さんに共有しているすべての内容です。参考にしていただければと思います。よろしくお願いします。