python 將dicom圖片轉換成jpg圖片的實例

 更新時間:2020年01月13日 15:27:34   作者:GoHowz   我要評論
今天小編就為大家分享一篇python 將dicom圖片轉換成jpg圖片的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

主要原理:調整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圖片的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 編寫簡單的Python程序來判斷文本的語種

    編寫簡單的Python程序來判斷文本的語種

    這篇文章主要介紹了編寫簡單的Python程序來判斷語種,代碼非常簡單,主要用到了langid工具包,需要的朋友可以參考下
    2015-04-04
  • Python中實現字符串類型與字典類型相互轉換的方法

    Python中實現字符串類型與字典類型相互轉換的方法

    這篇文章主要介紹了Python中實現字符串類型與字典類型相互轉換的方法,非常實用,需要的朋友可以參考下
    2014-08-08
  • Flask之請求鉤子的實現

    Flask之請求鉤子的實現

    這篇文章主要介紹了Flask之請求鉤子的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • Django框架中間件(Middleware)用法實例分析

    Django框架中間件(Middleware)用法實例分析

    這篇文章主要介紹了Django框架中間件(Middleware)用法,結合實例形式分析了Django框架中間件(Middleware)的功能、用法及相關操作技巧,需要的朋友可以參考下
    2019-05-05
  • Django ORM 查詢管理器源碼解析

    Django ORM 查詢管理器源碼解析

    這篇文章主要介紹了Django ORM 查詢管理器源碼解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • python基于Selenium的web自動化框架

    python基于Selenium的web自動化框架

    這篇文章主要介紹了python基于Selenium的web自動化框架,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Python實現的飛速中文網小說下載腳本

    Python實現的飛速中文網小說下載腳本

    這篇文章主要介紹了Python實現的飛速中文網小說下載腳本,本文直接給出實現代碼,需要的朋友可以參考下
    2015-04-04
  • Python 自動刷博客瀏覽量實例代碼

    Python 自動刷博客瀏覽量實例代碼

    本篇文章主要介紹了Python 自動刷博客瀏覽量實例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • python刪除過期log文件操作實例解析

    python刪除過期log文件操作實例解析

    這篇文章主要介紹了python刪除過期log文件,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • PyQt5每天必學之創建窗口居中效果

    PyQt5每天必學之創建窗口居中效果

    這篇文章主要介紹了PyQt5每天必學之創建窗口居中效果,使應用程序窗口顯示在屏幕的中心,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04

最新評論

pc蛋蛋幸运28app下载地址