我正在尝试改变这个足球场的形象

鸟瞰图,最初warpPerspective仅尝试使用(Python 中的 OpenCV),但结果是

这表明原始图像存在失真。
我已经研究了消除图像失真的方法,但从到目前为止我读到的内容来看,我需要进行相机校准。这里的问题是,我没有任何有关用于记录足球场镜头的相机属性的信息(这是唯一使相机校准变得困难的角度)。
我正在寻找有关如何在不了解相机属性的情况下对图像进行去畸变以获得完美的视野的建议。任何我可以学习的后续步骤或资源也将受到赞赏。
这是我目前用 Python 编写的代码:
import cv2 as cv
import numpy as np
img = cv.imread("/Users/laulpee/Desktop/python/Screen Shot 2022-05-20 at 2.44.15 AM.png")
print(img.shape)
# Field Size 60' x 90'
h = 900
w = 1200
# 4 Points on Original Image
pt1 = np.float32([[2125,382],[1441,502],[3236,773],[3252,530]])
# 4 Corresponding Points of Desired Bird Eye View Image
pt2 = np.float32([[0,0],[0,h],[w,h],[w,0]])
matrix = cv.getPerspectiveTransform(pt1, pt2)
output = cv.warpPerspective(img,matrix,(w,h))
for i in range(0,4):
cv.circle(img,(int(pt1[i][0]),int(pt1[i][1])),5,(0,0,255),cv.FILLED)
window1 = cv.namedWindow("w1")
cv.imshow(window1,img)
cv.waitKey(0) …Run Code Online (Sandbox Code Playgroud)