opencv-图像仿射变换

仿射变换就是将矩形变为平行四边形,而透视变换可以变成任意不规则四边形。实际上,仿射变换是透视变换的子集,仿射变换是线性变换,而透视变换不仅仅是线性变换。

仿射变换设计图像位置角度的变化,是深度学习预处理中常用的功能。仿射变换就是对图像的平移缩放旋转翻转操作的组合

如下图,对图中点1,2,3与图二中三个点一一映射,仍然形成三角形,但形状已经发生改变,通过这两组三点求出仿射变换矩阵,然后将其应用到图像中所有点就完成了图像的仿射变换

仿射变换基本都是经过平移,旋转,放缩,错切,平移这几个步骤(按顺序执行)等形成了最终的图像

python 复制代码
import numpy as np
import cv2
img = cv2.imread('1.jpg')
#获取图像宽和高
row, cols = img.shape[:2]
#创建变换矩阵,原图3个点,映射后对应3个点坐标
pts1 = np.float32([[0, 0], [0, 307], [216, 307]])
pts2 = np.float32([[50, 50], [200, 50], [100, 200]])
#利用cv2.getAffineTransform来求得矩阵M
M = cv2.getAffineTransform(pts1, pts2)
#利用函数cv2.warpAffine完成仿射变换并返回图像
dst = cv2.warpAffine(img, M, (cols, rows))#(cols, row)指变换后图像大小
#图像显示
cv2.imshow('1.jpg', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

相关推荐
1941s1 分钟前
Google Agent Development Kit (ADK) 指南 第五章:工具集成与自定义
人工智能·python·langchain·agent·adk
智算菩萨4 分钟前
【Generative AI For Autonomous Driving】1 生成式AI重塑自动驾驶的技术浪潮与体系化挑战
论文阅读·人工智能·深度学习·机器学习·ai·自动驾驶
程序员Better6 分钟前
一口气拆穿Skill/MCP/RAG/Agent/OpenClaw底层逻辑
人工智能·开源·agent
智算菩萨18 分钟前
【Generative AI For Autonomous Driving】7 生成式AI驱动自动驾驶的未来图景:开放挑战、社会机遇与技术展望
论文阅读·人工智能·深度学习·机器学习·ai·自动驾驶
_Twink1e23 分钟前
2023-2026年计算机视觉领域期刊整理汇总
人工智能·计算机视觉
AI英德西牛仔29 分钟前
deepseek怎么导出文档
人工智能·ai·chatgpt·deepseek·ds随心转
冰西瓜60039 分钟前
深度学习的数学原理(十九)—— 视觉Transformer(ViT)实战
人工智能·深度学习·transformer
碳基硅坊41 分钟前
Qwen3.5-4B 微调实战:LLaMA-Factory 打造医疗AI助手
人工智能·qwen·模型微调
GISer_Jing43 分钟前
从CLI到GUI桌面应用——前端工程化进阶之路
前端·人工智能·aigc·交互
HIT_Weston1 小时前
21、【Agent】【OpenCode】源码构建(项目构建)
人工智能·agent·opencode