Я хочу сэмплировать прямоугольный патч из моего изображения по affine_grid
/ grid_sample
Я создал массив, который содержит только 255
значения
canvas1 = np.zeros((128, 128), dtype=np.uint8)
canvas1[:] = 255
Также я создал сетку
theta = torch.FloatTensor([[
[11/2, 0, 63],
[0, 11/2, 63],
]])
grid = F.affine_grid(theta, (1, 1, 11, 11))
Сетка содержит значения типа
[[57.5000, 57.5000],
[58.6000, 57.5000],
[59.7000, 57.5000],
[60.8000, 57.5000],
[61.9000, 57.5000],
[63.0000, 57.5000],
[64.1000, 57.5000],
[65.2000, 57.5000],
[66.3000, 57.5000],
[67.4000, 57.5000],
[68.5000, 57.5000]],
...............
После этого я вызвал grid_sample
canvas1_torch = torch.FloatTensor(canvas1.astype(np.float32))
canvas1_torch = canvas1_torch.unsqueeze(0).unsqueeze(0)
sampled = F.grid_sample(canvas1_torch, grid, mode="bilinear")
К сожалению sampled
содержит нулевые значения (но canvas1_torch[0, 0, 63, 65]
) составляет 255
Что я делаю не так?