在使用LIDC数据集做肺结节检测时对肺区进行分割后效果会好很多,主要是减少肺区以外的组织对检测的干扰。
方法比较简单:
首先是阈值分割,设置CT值为480HU作为阈值对CT图像进行分割,得到二值图像,然后使用flood fill填充方法对肺区以外的部分进行填充,接下来使用形态学方法腐蚀掉肺区中的残余部分,最终将得到的结果作为掩模与原图像叠加得到肺区图像。
MATLAB代码:
def img_segmentation(dicom_file):
threshold = -480 / dicom_file.RescaleSlope - dicom_file.RescaleIntercept
mask=dicom_file.pixel_array
mask=(mask>threshold).astype(np.float32)
element = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (10, 10))
mask = cv2.erode(mask, element)
cols,rows=mask.shape[:2]
#cv2.imshow('mask', mask)
#cv2.waitKey()
mask_back=mask.copy()
flood_mask=np.zeros([