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

代码示例

相关推荐
福客AI智能客服1 分钟前
专业适配破局:AI客服软件与电商智能客服重塑日用品服务生态
大数据·人工智能
GIS数据转换器3 分钟前
基于GIS与AI的社区‑商圈融合可视化平台
人工智能·信息可视化·无人机·智慧城市·制造
摩西蒙9 分钟前
业务监控和常用产品
java·大数据·人工智能
乐迪信息10 分钟前
乐迪信息解决港口船型识别难题!AI算法盒子检测船舶类型
人工智能·算法·智能电视
HyperAI超神经12 分钟前
具身智能资源汇总:机器人学习数据集,在线体验世界建模模型,英伟达/字节/小米等最新研究论文
人工智能·深度学习·学习·机器学习·机器人·ai编程·图形生成
地球没有花13 分钟前
调整warmup的batch优化tensorflow serving P99耗时毛刺
人工智能·python·tensorflow
道可云32 分钟前
道可云AI元宇宙平台入选2025年度视听系统典型案例
人工智能
AI-小柒1 小时前
从零入门大语言模型(LLM):系统学习路线与实践指南
大数据·开发语言·人工智能·学习·信息可视化·语言模型·自然语言处理
才聚PMP1 小时前
NPI项目如何用控制计划(CP)锁死 “量产一致性”?
人工智能
marteker1 小时前
现代租赁汽车的原厂锁车和解锁警报声替换成科基蛙的叫声
人工智能