分割-检测数据格式转换中cv2.connectedComponentsWithStats()使用

在将用于分割任务的标注数据转换为检测格式数据的时候,用到了这个函数。

cv2.connectedComponentsWithStats()
这个函数输入为一个二值化图像,输出为一个长为4的tuple,第一个返回值是连通区域的个数,第二个返回值是一整张图的label,第三个返回值是(x, y, width, height, area),即每个区域的左上角坐标,宽和高,面积,此处注意,最后一个元素是(0, 0, 图像width, 图像height, 图像area),需要剔除,第四个是每个连通区域的中心点。

def find_bbox(mask):
    num, labels, stats, centroids = cv2.connectedComponentsWithStats(mask)
    stats = stats[stats[:,4].argsort()]
    return stats[:-1]

 

你可能感兴趣的:(opencv)