Python 基于opencv的图像粒子分割

Python 基于opencv的图像粒子分割,python,numpy,opencv,image-processing,computer-vision,Python,Numpy,Opencv,Image Processing,Computer Vision,对于使用canny边缘检测后显示的图像,在应用平滑图像的过滤器和闭合操作来填充空洞并在很大程度上完成开放边界后,我在下面的代码中遇到了一个问题,该代码将某个点作为输入,在该点周围的所有方向上发射光线,然后根据测量的光线平均直径关闭边界。。因此,我的主要问题是如何使用该算法以白色显示从图像中提取的每个粒子在图像中检测到的边界。。我如何才能提高这方面的效率 当我运行代码以获得白色的每个粒子时,我期望图像imac不会出现如下图中步骤4所示的问题 imo = im * 0 plotpol

对于使用canny边缘检测后显示的图像,在应用平滑图像的过滤器和闭合操作来填充空洞并在很大程度上完成开放边界后,我在下面的代码中遇到了一个问题,该代码将某个点作为输入,在该点周围的所有方向上发射光线,然后根据测量的光线平均直径关闭边界。。因此,我的主要问题是如何使用该算法以白色显示从图像中提取的每个粒子在图像中检测到的边界。。我如何才能提高这方面的效率

当我运行代码以获得白色的每个粒子时,我期望图像imac不会出现如下图中步骤4所示的问题

    imo = im * 0
    plotpoly(polyc,imo)
    plotArea(polyc,imo)
    imf = imo*1000.0 +im
    a,imf = cv2.threshold(imf,100.0,255.0,cv2.THRESH_BINARY)
    imac = imac + imo
    a,imac = cv2.threshold(imac,200,255,   cv2.THRESH_BINARY);

我希望在图像中循环时,为步骤4中显示的单个粒子获得相同的值