【投影变换】——Opencv中的透视变换
在图像处理中,我们经常需要对图像进行透视变换,比如将斜着拍摄的文档调整为正常的方向,或者校正倾斜的建筑物照片等。这种情况下,投影变换(Perspective Transformation)是一种非常有用的技术。
在Opencv中,通过perspectiveTransform()函数实现投影变换,该函数可以接收源图像和变换矩阵作为输入,并返回变换后的结果。下面是一个示例代码,用于将一张斜着的名片照片调整为正常的方向:
import cv2
import numpy as np
# 读入图像
img = cv2.imread('card.jpg')
# 定义变换前和变换后的四个点坐标
src_pts = np.float32([[100, 100], [200, 100], [200, 200], [100, 200]])
dst_pts = np.float32([[150, 100], [200, 100], [200, 150], [150, 150]])
# 计算变换矩阵
M = cv2.getPerspectiveTransform(src_pts, dst_pts)
# 进行投影变换
result = cv2.warpPerspective(img, M, (300, 200))
# 显示结果
cv2.imshow('result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
<