如何使用 Python 中的自适应阈值从 numpy ndarray 类型的 CT 图像中分割骨骼

问题描述

这是我的示例代码。我尝试应用自适应阈值来分割骨骼。加载存储为 mat 文件的 Dicom 文件数据并提取 ct 图像。然后取一段 NumPy.ndarray 类型的 CT 数据,然后将其转换为 CV_8UC1 类型以应用阈值。

@H_502_2@param = yaml.load(open("parameters.yaml")) filenames = os.listdir(param['path_to_data']) targetfolder = [] for i in range(0,len(filenames)): data = read_mat(os.path.join(param['path_to_data'],filenames[i])) ct_image = data['ct_image'] mid_slice = np.round(np.array(data['ct_image'].shape)/2).astype(int) ct_slice = ct_image[:,:,mid_slice[2]] u8 = ct_slice.astype(np.uint8) cv2.imshow('im',u8) thresh1 = cv2.adaptiveThreshold(u8,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,701,2) thresh2 = cv2.adaptiveThreshold(u8,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,11,2) titles = ['Original Image','Adaptive Mean Thresholding','Adaptive Gaussian Thresholding'] images = [u8,thresh1,thresh2,thresh3] for i in range(4): plt.subplot(2,2,i+1),plt.imshow(images[i],'gray') plt.title(titles[i]) plt.xticks([]),plt.yticks([]) plt.show()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)