您好,登錄后才能下訂單哦!
這篇文章主要為大家詳細(xì)介紹了怎么在python中將dicom圖片轉(zhuǎn)換成jpg圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,發(fā)現(xiàn)的小伙伴們可以參考一下:
Python是一種編程語(yǔ)言,內(nèi)置了許多有效的工具,Python幾乎無(wú)所不能,該語(yǔ)言通俗易懂、容易入門(mén)、功能強(qiáng)大,在許多領(lǐng)域中都有廣泛的應(yīng)用,例如最熱門(mén)的大數(shù)據(jù)分析,人工智能,Web開(kāi)發(fā)等。
主要原理:調(diào)整dicom的窗寬,使之各個(gè)像素點(diǎn)上的灰度值縮放至[0,255]范圍內(nèi)。
使用到的python庫(kù):SimpleITK
下面是一個(gè)將dicom(.dcm)圖片轉(zhuǎn)換成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') #將像素值擴(kuò)展到[0,255] cv2.imwrite(save_path, newimg, [int(cv2.IMWRITE_JPEG_QUALITY), 100]) if __name__ == '__main__': # 下面是將對(duì)應(yīng)的dicom格式的圖片轉(zhuǎn)成jpg dcm_image_path = '/DICOM_image/lung001.dcm' #讀取dicom文件 output_jpg_path = 'JPG_image/lung001.jpg' ds_array = sitk.ReadImage(dcm_image_path) #讀取dicom文件的相關(guān)信息 img_array = sitk.GetArrayFromImage(ds_array) #獲取array # SimpleITK讀取的圖像數(shù)據(jù)的坐標(biāo)順序?yàn)閦yx,即從多少?gòu)埱衅絾螐埱衅膶捄透?,此處我們讀取單張,因此img_array的shape #類(lèi)似于 (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) #調(diào)用函數(shù),轉(zhuǎn)換成jpg文件并保存到對(duì)應(yīng)的路徑 print('FINISHED')
以上就是億速云小編為大家收集整理的怎么在python中將dicom圖片轉(zhuǎn)換成jpg圖片,如何覺(jué)得億速云網(wǎng)站的內(nèi)容還不錯(cuò),歡迎將億速云網(wǎng)站推薦給身邊好友。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。