Вот координаты:
[(744, 498),
(721, 526),
(686, 541),
(649, 543),
(598, 537),(561, 519),
(546, 495),
(479, 541),
(436, 600),
(442, 654),(500, 682),
(577, 701),
(639, 708),
(694, 707),
(786, 684),(844, 659),
(854, 596),
(813, 538),
(520, 566),
(485, 627),(582, 589),
(569, 652),
(644, 593),
(643, 659),
(702, 591),(711, 653),
(750, 569),
(774, 633)]
Вот как выглядит сетка:

Я' Мне хотелось бы создать сетку того же размера, что и реальный дисплей (720 x 1280), соответствующую координатам, которые я собрал. Есть ли способ «подогнать» непрямоугольную сетку к такому набору точек, и если да, то как этот подход можно реализовать с помощью Python?
Изменить:
Благодаря @bogovicj мне удалось решить эту проблему (думаю). Решение ниже.
Код: Выделить всё
# image transformation
from skimage import transform as tf
src =
dst =
tform =tf.estimate_transform(ttype='piecewise-affine', src=src, dst=dst)
base_image =
warped_image = tf.warp(base_image, inverse_map=tform.inverse)
# plot the results
from matplotlib import pylab as plt
fig, (ax1, ax2) = plt.subplots(ncols=2)
ax1.imshow(base_image, cmap='gray')
ax1.scatter(src[:,0], src[:,1], color='r', marker='+', s=100)
ax2.imshow(warped_image, cmap='gray')
ax2.scatter(dst[:,0], dst[:,1], color='r', marker='+', s=100)

Похоже, что при оценке преобразования возникли небольшие проблемы с вогнутостью верхней части целевой сетки, но в остальном она выглядит великолепно и, вероятно, улучшится при использовании сетки источника/назначения с более высоким разрешением.
Подробнее здесь: https://stackoverflow.com/questions/641 ... oordinates