The problem is about using rasterio to generate mask from GeoJSON file which contains geographic coordinates.
The function that I used is from:
from rasterio.tools.mask import mask
with rasterio.open(img_path) as src:
img_mask, out_transform = mask(src, [poly], crop = False)
The shape of the mask that I generated is:
(4, 256, 256)
I converted this mask to (256,256) black and white image by taking the first channel of the mask. I used for loop to do this process couple times, and then I appended all the (256,256) masks into a list. I tried to use np.stack to convert the list to a numpy array with dimension (256,256,?). However, I got an array with dimension (?,256,256). I tried to set axis=-1; however, the image shape becomes (256,?) rather than (256,256).
Is there any method that can convert the channel first array to a channel last array with numpy?