如何在OpenCV中从X线片分割股骨?

j5fpnvbx  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(100)

我的目标是从X射线图像中分割骨骼,更具体地说是股骨。

输入图片1:

预期输出:

输入图片2:

预期输出:

输入图片3:

预期输出:

到目前为止,我应用了K-means分割(有5个聚类)。但是,我不知道从这里开始该怎么走,或者这是正确的方法。任何帮助将不胜感激。

更新:

我按照注解中的建议实现了模板匹配,它允许裁剪到感兴趣的区域(球关节)。这让我明白了

然后,我应用了以下内容:
1.应用CLAHE增强边界

clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(4,4))
img_clahe = clahe.apply(image_slice)

plt.imshow(img_clahe, cmap=plt.cm.bone)

1.应用中值模糊以平滑图像:

blur= cv2.medianBlur(img_clahe, 9)
plt.imshow(blur, cmap=plt.cm.bone)

1.应用的自适应阈值:

th3 = cv2.adaptiveThreshold(blur,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,\
            cv2.THRESH_BINARY,11,2)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))
th3 = cv2.morphologyEx(th3, cv2.MORPH_OPEN, kernel)
th3 = cv2.medianBlur(th3, 9)

plt.imshow(th3, cmap=plt.cm.bone)

虽然我觉得我更接近了,但这仍然不是我想要的。有什么建议吗?我想得到这个轮廓:

ghhaqwfi

ghhaqwfi1#

如果你想要合理的结果,你必须使用深度神经网络(语义分割任务)。但您将需要分类数据(具有分割掩模的图像)。

相关问题