我正在处理图像分割任务,但在可视化我的一些蒙版时遇到问题。我已经创建了 3 个掩码(每个掩码的值都在 0 到 1 之间),然后我使用 skimage.util.view_as_windows
将它们平铺并可视化结果。有些区域在所有掩码中都是 0,这应该是不可能的,因为所有区域都被 1 和 0 掩蔽(已经检查过)。
要加载掩码,我使用 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))
我不明白错误是否与蒙版本身或平铺期间有关。我是否遗漏了一些明显的东西?
谢谢