python 將dicom圖片轉(zhuǎn)換成jpg圖片的實(shí)例
主要原理:調(diào)整dicom的窗寬,使之各個像素點(diǎn)上的灰度值縮放至[0,255]范圍內(nèi)。
使用到的python庫:SimpleITK
下面是一個將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__':
# 下面是將對應(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,即從多少張切片到單張切片的寬和高,此處我們讀取單張,因此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) #調(diào)用函數(shù),轉(zhuǎn)換成jpg文件并保存到對應(yīng)的路徑
print('FINISHED')
以上這篇python 將dicom圖片轉(zhuǎn)換成jpg圖片的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- python如何將圖片轉(zhuǎn)換素描畫
- python實(shí)現(xiàn)圖片轉(zhuǎn)換成素描和漫畫格式
- 基于python實(shí)現(xiàn)把圖片轉(zhuǎn)換成素描
- python3用PIL把圖片轉(zhuǎn)換為RGB圖片的實(shí)例
- 利用python和ffmpeg 批量將其他圖片轉(zhuǎn)換為.yuv格式的方法
- Python圖片轉(zhuǎn)換成矩陣,矩陣數(shù)據(jù)轉(zhuǎn)換成圖片的實(shí)例
- python如何將圖片轉(zhuǎn)換為字符圖片
- Python將圖片轉(zhuǎn)換為字符畫的方法
- python3圖片轉(zhuǎn)換二進(jìn)制存入mysql
- python將YUV420P文件轉(zhuǎn)PNG圖片格式的兩種方法
相關(guān)文章
Python?Asyncio?庫之同步原語常用函數(shù)詳解
這篇文章主要為大家介紹了Python?Asyncio?庫之同步原語常用函數(shù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
python 如何將浮點(diǎn)數(shù)尾部無效0去掉和無效的‘.’號
這篇文章主要介紹了python 如何將浮點(diǎn)數(shù)尾部無效0去掉和無效的‘.’號,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Keras:Unet網(wǎng)絡(luò)實(shí)現(xiàn)多類語義分割方式
本文主要利用U-Net網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)了多類的語義分割,并展示了部分測試效果,希望對你有用!2020-06-06
一篇文章帶你學(xué)習(xí)Python3的高級特性(1)
這篇文章主要為大家詳細(xì)介紹了Python3的高階函數(shù),主要介紹什么是高級特性,高級特性的用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
Python 讀取串口數(shù)據(jù),動態(tài)繪圖的示例
今天小編就為大家分享一篇Python 讀取串口數(shù)據(jù),動態(tài)繪圖的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計(jì)軟件
Tkinter 是 Python 中的標(biāo)準(zhǔn) GUI 庫,使用 Tkinter 可以快速地創(chuàng)建 GUI 應(yīng)用程序。今天我們打算再用一個小案例,帶大家加深對Tkinter的理解2021-09-09

