原链接 https://www.cnblogs.com/dhanchor/p/7193472.html
发现出错,大记录是opencv的使用版本,重新改了下
import cv2
import numpy as np
import pydicom
import matplotlib.pyplot as plt
path_file = r'D:\Mr.Yu\SE02\IM000009'
dcm = pydicom.read_file(path_file)
dcm.image = dcm.pixel_array * dcm.RescaleSlope + dcm.RescaleIntercept # 为啥
print(dcm.image) # 图像的数据
slices = []
slices.append(dcm)
print(slices) # dcm相关Tag
# img = slices[int(len(slices)/2)].image.copy() # <class 'numpy.ndarray'> shape(512,512) 为什么要 /2
img = slices[0].image.copy()
print(30*'-')
ret,img = cv2.threshold(img,90, 3071,cv2.THRESH_BINARY)
img = np.uint8(img)
plt.figure(figsize=(12,12))
plt.subplot(141)
plt.imshow(img,'gray')
plt.title('threshold')
contours,hierarchy = cv2.findContours(img, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
cv2.imshow('img',img)
cv2.waitKey(0)
# plt.imshow(contours)
mask = np.ze

本文介绍如何使用PyDICOM读取DICOM格式的医学影像,通过OpenCV进行阈值分割、轮廓检测及形态学操作。展示了从读取医学图像到图像预处理、特征提取的全过程。
最低0.47元/天 解锁文章
1822





