基于OpenCV的仿射变换

基本概念

仿射变换是在二维平面对图像进行线性坐标变换的方法,即对图像进行线性变换和平移,包括了图像平移、缩放、旋转、镜像等。仿射变换保留了图像中的 "平行性"和"平直性",即仿射变换后直线和平行线仍然保持是直线和平行线。

平直性:变换后直线还是直线,圆弧还是圆弧

平行性:保持二维图形间的相对位置关系不变,平行线还是平行线,而直线上的点位置顺序不变

仿射变换可以通过一系列的原子变换的复合来实现包括:平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotation)和错切(Shear)

二维码纠正案例

OpenCV中实现图像仿射变换的方法

函数:cv2.warpAffine()

格式:dst=cv2.warpAffine(src,M,dsize[,dst[,flags[,borderMode[,borderValue]]]])

参数说明:

src:输入图像

dst:输出图像,其大小为dsize

M:一个大小为2×3的转换矩阵,使用不同的转换矩阵可实现平移、旋转等多种操作。

dsize:输出图像的大小。

borderMode:边界像素模式(int 类型)

borderValue:边界填充值; 默认情况下,它为0

flages:表示插值方式,默认为 flags=cv2.INTER_LINEAR,表示线性插值,cv2.INTER_NEAREST为最近邻插值,cv2.INTER_AREA为区域插值,cv2.INTER_CUBIC为三次样条插值,cv2.INTER_LANCAOS4为Lanczos插值

代码示例

相关推荐
耿雨飞15 小时前
第三章:LangChain Classic vs. 新版 LangChain —— 架构演进与迁移指南
人工智能·架构·langchain
BizViewStudio15 小时前
甄选 2026:AI 重构新媒体代运营行业的三大核心变革与落地路径
大数据·人工智能·新媒体运营·媒体
俊哥V15 小时前
AI一周事件 · 2026年4月8日至4月14日
人工智能·ai
GitCode官方15 小时前
G-Star Gathering Day 杭州站回顾
人工智能·开源·atomgit
宇擎智脑科技16 小时前
开源 AI Agent 架构设计对比:Python 单体 vs TypeScript 插件化
人工智能·openclaw·hermes agent
冷色系里的一抹暖调17 小时前
OpenClaw Docker部署避坑指南:服务启动成功但网页打不开?
人工智能·docker·容器·openclaw
曹牧17 小时前
自动编程AI落地方案‌
人工智能
天云数据17 小时前
Harness革命:企业级AI从“失控野马”到“价值引擎”的跃迁
人工智能
汽车仪器仪表相关领域17 小时前
NHVOC-70系列固定污染源挥发性有机物监测系统:精准破局工业VOCs监测痛点,赋能环保合规升级
大数据·人工智能·安全性测试
克里斯蒂亚诺·罗纳尔达17 小时前
智能体学习23——资源感知优化(Resource-Aware Optimization)
人工智能·学习