Я пытаюсь понять вывод warpPerspective и getPerspectiveTransform . Поэтому я взял изображение, заданное как:
![enter image description here](https://i.stack.imgur.com/piETN.jpg)
и попытался преобразовать полное изображение (используя координаты границы) в
координаты, как объяснено pts2
ниже. Вот что я сделал.
import cv2
import numpy as np
image = "b.jpg"
img = cv2.imread(image)
pts1 = np.float32([
[0,0],
[0, img.shape[1]],
[img.shape[0],img.shape[1]],
[img.shape[0],0]
])
pts2 = np.float32([
[100,100],
[100,300],
[300,300],
[300,5]
])
M = cv2.getPerspectiveTransform(pts1,pts2)
dst = cv2.warpPerspective(img,M,(400,400))
cv2.imwrite("test.png", dst)
Вывод вышеприведенного кода выглядит следующим образом:
![enter image description here](https://i.stack.imgur.com/Itrzt.png)
Что означает этот выводозначает в терминах координат пункта назначения:
pts2 = np.float32([
[100,100],
[100,300],
[300,300],
[300,5]
])
Почему выходные данные выглядят так, как они выглядят прямо сейчас? Я не могу отобразить это в своем уме, когда вижу pts2
и сравниваю с pts1
, которые являются простыми граничными координатами.