简介
本博文以二分类建筑数据集为例来介绍。一般用于语义分割的数据集,包含原始影像以及对应的标签。而用于实例分割的数据集,除去这些,还有边界框。借助skimage库中的某些函数可以将语义分割数据集用于实例分割。
Python代码
代码中的label和regionprops可以参考这篇博文。
import cv2
from skimage.measure import label, regionprops
import matplotlib.pyplot as plt
imgPath = "data/train_images/Subset1_img__12.png"
img_0 = cv2.imread(imgPath)
mask = cv2.imread(imgPath.replace('images', 'labels'), 0)/255
label_0 = label(mask)
props = regionprops(label_0)
img_1 = img_0.copy()
for prop in props:
print("found bounding box", prop.bbox)
cv2.rectangle(img_1, (prop.bbox[1], prop.bbox[0]), (prop.bbox[3], prop.bbox[2]), (255, 0, 0), 2)
fig, (ax1, ax2, ax3) = plt.subplots(1, 3)
ax1.imshow(img_0)
ax2.imshow(mask)
ax3.imshow(img_1)
plt.show()