如何使用long龙8国际在OpenCV中获得连接组件的第一个和最后一个像素,以解耦未发现的blob?

2022-12-08 15:08:19 发布


我有以下问题: 我找不到访问每个连接组件的第一个和最后一个像素的方法,这些像素是通过long龙8国际中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()

Tags: andoutputstatsnpcomponents组件像素cv2filteredccsizesnbedgesconnectedconnectedcomponentswithstats