Предположим, у меня есть изображение формы 512x512, я должен добавить к нему еще 8 строк и еще 8 столбцов, чтобы получить его форму 520x520. чтобы изображение можно было разделить на сегменты формы 40х40.
Использование кода:
import numpy as np
from skimage.util.shape import view_as_blocks
import gdal
ds = gdal.Open('D:\512.tiff')
band = ds.GetRasterBand(1)
arr1 = band.ReadAsArray()
arr1.shape
>>(512,512)
arr2 = np.zeros((8,512), dtype='float32')
arr3=np.vstack((arr1,arr2))
arr4=np.zeros((520,8), dtype='float32')
arr=np.hstack((arr3,arr4))
arr.shape
>>(520,520)
#Now, I can use this command to divide the image in to segements each of shape of 40x40 :
img= view_as_blocks(arr, block_shape=(40,40))
Здесь моя проблема в том, что я всегда хочу разделить изображение на сегменты формы 40x40, но всегда мое входное изображение не будет иметь одинаковый размер (512x512), т.е. это может быть (512x516) (529x517) или что угодно.
Таким образом, мое требование к коду состоит в том, что код должен иметь возможность считывать форму входного изображения и автоматически добавлять n и n строк и столбцов, необходимых для преобразования моего изображения в сегменты формы 40x40
.