13-图像的透视

复制代码
   在对图像进行操作的过程中,经常会遇到要将图像进行透视操作的情况。使用 OpenCV 提供的 cv2.warpPerspective()函数实现将一张图像进行透视操作,在此过程中使用 cv2.getPerspectiveTransfom()函数生成透视转换矩阵。

原始图像:

代码:

python 复制代码
import cv2
import numpy as np
tree = cv2.imread('images/tree.jpg')
rows ,cols = tree.shape[:2]
# 设置变换矩阵: 4个点,分别是源图像的左上、右上、左下、右下
p1 = np.float32([[0,0],[cols,0],[0,rows],[cols,rows]])
# 设置变换矩阵: 4个点,分别是目标图像的左上、右上、左下、右下
p2 = np.float32([[0,0],[cols-50,rows/2-50],[0,rows],[cols-50,rows/2+50]])
# 获取透视变换矩阵
M = cv2.getPerspectiveTransform(p1,p2)
rst = cv2.warpPerspective(tree,M,(cols,rows))
cv2.imshow('tree',tree)
cv2.imshow('rst',rst)
cv2.waitKey(0)
cv2.destroyAllWindows()

相关技术及概念:

图像的透视来原于绘画理论,指在平面或曲面上描绘物体的空间关系的方法或技术。例如我们通常所说的"近大远小"就是透视技术的一种,如图所示。具体实现方式就是通过透视变换将某一矩形映射为任意四边形。

语法格式:

透视变换通过函数 cv2.warpPerspective()实现,该函数的语法是: dst=cv2.warpPerspective(src,M,dsize,flags\[,borderMode\[, borderValue]])

  • dst 代表透视处理后的输出图像,该图像和原始图像具有相同的类型。

  • dsize 决定输出图像的实际大小。

  • src 代表要透视的图像。

  • M 代表一个 3X3 的变换矩阵。

  • dsize 代表输出图像的尺寸大小。

  • flags 代表插值方法,默认为 INTER_LINEAR.当该值为 WARP_INVERSE MAP 时, 意味着 M是逆变换类型,能实现从目标图像 dst 到原始图像 src 的逆变换。

  • borderMode 代表边类型,默认为 BORDER_CONSTANT。当该值为 BORDER

  • TRANSPRENT 时,意味着目标图像内的值不做改变,这些值对应原始图像内的异常值。

  • borderValue 代表边界值,默认是 0。

透视变换矩阵:

与仿射变换类似,同样可以使用一个函数来生成 cv2.warpPerspective()所使用的转换矩阵。

语法格式:

retval=cv2.getPerspectiveTransform( src, dst )

  • src 代表输入图像的四个顶点的坐标。
  • dst 代表输出图像的四个顶点的坐标。
    需要注意的是,src 参数和 dst 参数是包含四个点的数组,与仿射变换函数 cv2. getAffineTransform()中的三个点是不同的。实际使用中,我们可以根据需要控制 src 中的四个点映射到 dst 中的四个点。
相关推荐
jinxindeep9 小时前
CVPR26最佳论文提名:NitroGen,面向通用游戏智能体的 视觉-动作基础模型
人工智能·游戏
小雨下雨的雨13 小时前
井字棋AI机器人实现详解 - Minimax算法实战-鸿蒙PC Electron框架完成
前端·人工智能·算法·华为·electron·鸿蒙
我没胡说八道15 小时前
高校论文AI检测优化工具对比研究与实测分析(2026)
人工智能·深度学习·机器学习·计算机视觉·aigc·论文
秦亚伟15 小时前
AI浪潮重塑融资租赁行业新格局
人工智能
love530love15 小时前
LiveTalking 数字人项目 Windows 部署完全指南(EPGF 架构)
人工智能·windows·python·架构·livetalking·epgf
元启数宇15 小时前
喷淋AI布点实战:8小时人工布点→20分钟自动出图
人工智能
哈哈,柳暗花明15 小时前
人工智能专业术语详解(H)
人工智能·专业术语
圣殿骑士-Khtangc15 小时前
AI 编程工具 2026 实战横评:Cursor 3 vs Claude Code vs Copilot,开发者选型完全指南
人工智能·copilot
云器科技15 小时前
云器Lakehouse 2026年5月版本发布:拥抱 AI Agent,重塑数据智能开发新范式
人工智能
小鹰-上海鹰谷-电子实验记录本15 小时前
第六届党建引领科创生态座谈会 | 邓光辉博士出席分享AI赋能创新药科研新范式
人工智能·ai·电子实验记录本·药企合规