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

代码示例

相关推荐
Coovally AI模型快速验证9 小时前
Meta ShapeR重磅开源:多模态3D生成,从真实杂乱视频中稳健重建
人工智能·学习·算法·yolo·3d·人机交互
应用市场9 小时前
【图像描述生成】GAT:融合几何注意力与位置感知LSTM的Transformer模型详解
人工智能·lstm·transformer
菩提树下的凡夫9 小时前
强化学习和深度学习的区别与联系
人工智能·深度学习
九尾狐ai9 小时前
从九尾狐AI案例拆解智能矩阵技术架构:如何实现AI获客300万播放?
人工智能
wasp5209 小时前
Hudi 客户端实现分析
java·开发语言·人工智能·hudi
秦苒&9 小时前
【脉脉】AI 创作者 xAMA 知无不言:在浪潮里,做会发光的造浪者
大数据·c语言·数据库·c++·人工智能·ai·操作系统
chinesegf9 小时前
嵌入模型和大语言模型的关系
人工智能·语言模型·自然语言处理
啊阿狸不会拉杆9 小时前
《计算机操作系统》 第十一章 -多媒体操作系统
开发语言·c++·人工智能·os·计算机操作系统
_ziva_9 小时前
分布式(三)深入浅出理解PyTorch分布式训练:nn.parallel.DistributedDataParallel详解
人工智能·pytorch·分布式
江南小书生9 小时前
非标制造行业装配报工工时不准?缺料干扰+标准缺失如何破局?
大数据·人工智能