基于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插值

代码示例

相关推荐
haina20194 分钟前
海纳AI正式发布“面试Agent”——实现千岗千面与人机共管的智面新纪元
人工智能·面试·职场和发展
大信说财务14 分钟前
2026年数电票管理生态:技术路线、市场格局与选型策略
人工智能·自然语言处理·电子发票·智能化·发票管理·财务工具
Deepoch16 分钟前
Deepoc 开发板赋能工业巡检机器人自主感知与决策
人工智能·科技·机器人·巡检机器人·具身模型·deepoc
code 小楊24 分钟前
DeepSeek V4 全面解析:测评、对比、案例及实操指南
人工智能·开源
ZPC821026 分钟前
ROS2 速度远快于 UDP的完整方案(同机节点)
人工智能·算法·计算机视觉·机器人
AI袋鼠帝30 分钟前
Claude Design完整系统提示词泄露!
人工智能
AI袋鼠帝32 分钟前
阿里出手了,这次是"造世界"!
人工智能
大龄程序员狗哥34 分钟前
第22篇:生成对抗网络(GAN)入门——AI艺术创作的“造假”与“打假”(概念入门)
人工智能·神经网络·生成对抗网络
华清远见IT开放实验室37 分钟前
AI 算法核心知识清单(深度实战版2)
人工智能·深度学习·算法·机器学习·ai·模型训练
AI袋鼠帝37 分钟前
开源「仓颉.Skill」,你现在可以蒸馏任何书!
人工智能