首页 > 解决方案 > 使用opencv在图像中进行粒子分割

问题描述

在此处输入图像描述

在此处输入图像描述

在应用过滤器平滑图像和关闭操作以填充空隙并在很大程度上完成使用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 中显示的单个粒子相同的值

标签: pythonnumpyopencvimage-processingcomputer-vision

解决方案


推荐阅读