>>文章导航
透视变换:
根据输入(原图像)和输出(变换后的图像)上的四对点坐标获得从原图到目标图像的透视变换矩阵。
参考:OpenCV-Python投影透视变换函数getPerspectiveTransform及warpPerspective详解
1.调用语法
getPerspectiveTransform(src, dst, solveMethod=None)
2.基本原理
透视变换就是将原图投影到一个新的视平面中,也被称为投影映射,如下图:
3.调用实例:
import cv2
import numpy as np
# 读取源图像和目标图像
src = cv2.imread('D:/images/lena.bmp')
print(src.shape)
dst = cv2.imread('destination.jpg')
# 定义源图像和目标图像上的对应点
pts1 = np.float32([[0, 0], [500, 0], [0, 740], [500, 740]]) # 在源图像上的点,应该有4个点,每两个点确定一条直线,这样才能确定一个四边形
pts2 = np.float32([[10, 100], [200, 50], [100, 250], [150, 200]]) # 在目标图像上的点,也应该有4个点,对应于源图像中的每个点应该映射到的位置
# 获取透视变换矩阵
M = cv2.getPerspectiveTransform(pts1, pts2)
# 应用透视变换并显示结果
transformed = cv2.warpPerspective(src, M, (src.shape[1], src.shape[0]))
cv2.imshow('Transformed Image', transformed)
cv2.waitKey(0)
cv2.destroyAllWindows()
4.输出结果:
如果觉得作者写得还不错的话, 点赞 / 收藏 / 评论 / 转发 四连支持一下吧~😘
最重要的是点一个大大的关注, 你的支持就是作者创作的最大动力!!!❤