Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在OpenCV中从x射线分割股骨?_Python_Opencv_Image Processing - Fatal编程技术网

Python 如何在OpenCV中从x射线分割股骨?

Python 如何在OpenCV中从x射线分割股骨?,python,opencv,image-processing,Python,Opencv,Image Processing,我的目标是从x光图像中分割骨骼,更具体地说是股骨 输入图像1: 预期产出: 输入图像2: 预期产出: 输入图像3: 预期产出: 到目前为止,我应用了K-means分割(有5个聚类)。然而,我不知道如何从这里开始,或者这是正确的方法。任何帮助都将不胜感激 更新: 我按照注释中的建议实现了模板匹配,允许裁剪到感兴趣的区域(球节)。 这让我想到: 然后,我应用了以下内容: 应用CLAHE增强边界 clahe=cv2.createCLAHE(clipLimit=2.0,tileGridSi

我的目标是从x光图像中分割骨骼,更具体地说是股骨

输入图像1:

预期产出:

输入图像2:

预期产出:

输入图像3:

预期产出:

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

更新: 我按照注释中的建议实现了模板匹配,允许裁剪到感兴趣的区域(球节)。 这让我想到:

然后,我应用了以下内容:

  • 应用CLAHE增强边界
  • clahe=cv2.createCLAHE(clipLimit=2.0,tileGridSize=(4,4))
    img\u clahe=clahe.apply(图像切片)
    plt.imshow(img_clahe,cmap=plt.cm.bone)
    

  • 将中值模糊应用于平滑图像:
  • blur=cv2.medianBlur(img_clahe,9)
    plt.imshow(模糊,cmap=plt.cm.bone)
    

  • 应用自适应支架:
  • th3=cv2.自适应阈值(模糊,255,cv2.自适应阈值高斯\
    cv2.THRESH_二进制,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)
    

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


    如果你想要得到合理的结果,你必须使用深层神经网络(语义分割任务)。但您需要分类数据(带分割遮罩的图像)。

    首先,我想看看没有ML/Deep Learning我能走多远。然后将结果与深度学习方法进行比较,您是否有更多图像可供参考?很难从一张图片中推断出这样的事情。。但是,如果你想以半监督的方式进行,你可以使用分水岭算法,或者其他分割算法(比如图切割)是的,我可以。我将用另外两张图片更新这个问题。已经更新了。在你使用神经网络之前,你可能想尝试一个快速而肮脏的解决方案。这需要相当多的训练数据。在这些图像中,获取股骨最显著的特征,比如球关节,并在缩小的图像上使用它进行模板匹配。您可以在分割图像或原始图像上执行此操作。得到的轮廓,其中有模板匹配的部分应该大致是你的股骨。假设你的分割是正确的,你可以让股骨做任何需要的后处理。模板匹配对多个图像有效吗?好吧,假设股骨-骨球关节的特征是,无论角度如何,这一特征在X射线的另一部分是不存在的。您可能需要进行目视检查,并保持较低的阈值以通过类似外观的球头。正如我所说,在转向更为复杂的神经网络解决方案之前,这是一个值得尝试的东西,毫无疑问,这本身需要相当多的数据。@Knightfork我已经用你的建议更新了我的问题。看看:)你已经非常接近你的解决方案了。为什么不在最终图像中尝试一些形态学操作(在本例中是形态学打开,甚至是擦除),以打开单独的骨骼部分,然后进行查找。任何围绕中心的轮廓都是股骨,概率相当高。最后,您可能需要对所有参数进行微调,以推广此方法。