您可以对图像进行透视变换。这是让您进入大致范围的第一个镜头:
import cv2
import numpy as np
img = cv2.imread('zen.jpg')
rows, cols, ch = img.shape
pts1 = np.float32(
[[cols*.25, rows*.95],
[cols*.90, rows*.95],
[cols*.10, 0],
[cols, 0]]
)
pts2 = np.float32(
[[cols*0.1, rows],
[cols, rows],
[0, 0],
[cols, 0]]
)
M = cv2.getPerspectiveTransform(pts1,pts2)
dst = cv2.warpPerspective(img, M, (cols, rows))
cv2.imshow('My Zen Garden', dst)
cv2.imwrite('zen.jpg', dst)
cv2.waitKey()
你可以更多地摆弄数字,但你明白了。
这是一些在线示例。第一个链接有一个与变换矩阵相关的有用的钉点图:
- 图像的几何变换
- 4 点 OpenCV getPerspective 变换示例
- 通过示例学习 OpenCV:透视变换