Dicom

临时有了任务,以后可能没有什么时间刷leetcode了。
第一次就是dicom格式的文件,搞了好半天。
用pydicom处理总是出错,读不出来像素信息,弄了一个小时。
然后就用了SimpleITK。好不容易打开了,数据显示出来发现总是有问题,就是颜色不正常。

然后应matlab的打开dicom的函数打开一下才发现问题。读出来是int16。matlab显示要imshow(a,【】),不过以前一直不知道这个[]是干什么用的,正好查了一下,其实就是归一化。
然后在python里给他归一化转化成float一下就OK了。
从8点弄到12点,这么简单的问题,蠢哭了。


import SimpleITK as sitk
import numpy as np
import SimpleITK as sitk
import os
import cv2
path = 'C:\\Users\\Administrator\\Desktop\\IM-0001-0001.dcm'

image = sitk.ReadImage(path)
image_array = sitk.GetArrayFromImage(image) # z, y, x
image_array=image_array.reshape((512,512))/(np.max(image_array)-np.min(image_array))
print(np.dtype(image_array[0][0]))
cv2.imshow('1',image_array)
cv2.waitKey(0)





在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值