说明:该代码是整体代码中的一段,主要功能是将mask_info(bool类型的二维向量),转化为需要标注的segmentation.
contours, hierarchy = cv2.findContours(mask_info.astype(np.uint8),cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
xy_list = []
for contour in contours:
xy = contour[:,0,:].ravel().tolist()
xy_list.append(xy)
obj_info['area'] = (x2-x1)*(y2-y1)
obj_info['bbox'] = [float(x1), float(y1), float(x2-x1), float(y2-y1)]
obj_info['cate'] = cate
obj_info['segmentation'] = xy_list
参考文章:博客
本文介绍如何将布尔类型的二维向量mask_info转换为图像标注所需的segmentation格式。通过使用OpenCV库的findContours函数,找到所有轮廓并将其转换为列表形式,以便于后续的数据处理和标注。此外还介绍了如何计算目标区域的面积和边界框。
5974





