您好,登錄后才能下訂單哦!
這篇文章主要為大家詳細介紹了怎么在python中將dicom圖片轉換成jpg圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,發現的小伙伴們可以參考一下:
Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。
主要原理:調整dicom的窗寬,使之各個像素點上的灰度值縮放至[0,255]范圍內。
使用到的python庫:SimpleITK
下面是一個將dicom(.dcm)圖片轉換成jpg圖片的demo:
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圖片,如何覺得億速云網站的內容還不錯,歡迎將億速云網站推薦給身邊好友。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。