如何在使用Python的OpenCV中获取连接组件的第一个和最后一个像素,以解耦未检测到的blob?

如何在使用Python的OpenCV中获取连接组件的第一个和最后一个像素,以解耦未检测到的blob?,python,opencv,image-processing,computer-vision,connected-components,Python,Opencv,Image Processing,Computer Vision,Connected Components,我有以下问题: 我无法找到访问每个连接组件的第一个和最后一个像素的方法,这些像素是通过Python中OpenCV的cv2.connectedComponentsWithStats函数获得的。我想做的是抑制连接的组件,这些组件的第一个像素和最后一个像素不一致,所以是未检测的。有什么想法吗 下面是调用cv2.connectedComponentsWithStats并抑制过小和过大连接组件的代码: #Find connected components nb_components, output

我有以下问题: 我无法找到访问每个连接组件的第一个和最后一个像素的方法,这些像素是通过Python中OpenCV的cv2.connectedComponentsWithStats函数获得的。我想做的是抑制连接的组件,这些组件的第一个像素和最后一个像素不一致,所以是未检测的。有什么想法吗

下面是调用cv2.connectedComponentsWithStats并抑制过小和过大连接组件的代码:

#Find connected components
    nb_components, output, stats, centroids = cv2.connectedComponentsWithStats(edges,connectivity=8)
    sizes = stats[1:, -1];
    nb_components = nb_components - 1

    #remove small and large connected components
    final_labels = np.array([])
    edges_filtered = np.zeros((output.shape),np.uint8)
    for i in range(0, nb_components):
        if sizes[i] >= MIN_CC_SIZE and sizes[i] <= MAX_CC_SIZE:
            edges_filtered[output == i + 1] = 255

    cv2.imshow("edges_filtered",edges_filtered)
    cv2.waitKey()

为了回答我自己的问题,经过一番搜索,我发现我想做的事情已经完成了。这是。

您能用您所做的尝试添加您的代码吗?我不明白您所说的第一个像素和最后一个像素不一致是什么意思。您是否希望第一个和最后一个像素位于同一位置?你说只保留完全连接的是什么意思?所有已识别的部件均已连接。你是说你发布的代码不起作用吗?如果是这样的话,有什么问题吗?我编辑了这篇文章,它们被称为未被发现。我不知道确切的单词,所以我太麻烦你了…对不起!severed不是一个我熟悉的与blob检测相关的术语,Google也不会返回任何定义。我不会使用它,也不会期望人们理解你的意思。