如何改进图像分割遮罩和平铺?

时间:2021-07-03 15:45:13

标签: python numpy image-segmentation scikit-image rasterio

我正在处理图像分割任务,但在可视化我的一些蒙版时遇到问题。我已经创建了 3 个掩码(每个掩码的值都在 0 到 1 之间),然后我使用 skimage.util.view_as_windows 将它们平铺并可视化结果。有些区域在所有掩码中都是 0,这应该是不可能的,因为所有区域都被 1 和 0 掩蔽(已经检查过)。 enter image description here

要加载掩码,我使用 rasterio(对每个掩码重复):

def readgeo():
  geo = gpd.read_file("mask_file.shp")
  print(geo.crs)
  with rasterio.open("image_raster.tif") as src:
    raster = src.read()
    geo = geo.to_crs(src.crs)
    out_image, out_transform = rasterio.mask.mask(src, geo.geometry, invert=False, filled=True, nodata=0)
    return out_image, out_transform
out_image_background, out_transform = readgeo()

masks_background = out_image_background[3,:,:]
masks_background[np.where(masks_background <= 0)] = 0
masks_background[np.where(masks_background > 0)] = 1
masks_background = masks_background.astype(np.int8)

我用来平铺蒙版的代码是:

patch_masks = skimage.util.view_as_windows(masks_background, (1024, 1024), step = 1024)
output_masks = patch_masks.reshape((-1,) + (1024, 1024))

我不明白错误是否与蒙版本身或平铺期间有关。我是否遗漏了一些明显的东西?

谢谢

0 个答案:

没有答案
相关问题