基于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赋能智能客服机器人:家居日用电商的售后标准化与体验升级核心
大数据·人工智能
明天好,会的17 分钟前
分形生成实验:在有限上下文中构建可组合的强类型单元
人工智能
All The Way North-18 分钟前
从0到1,构建自己的全连接神经网络
人工智能·pytorch·深度学习·全连接神经网络
week_泽20 分钟前
6、OpenCV SURF特征检测笔记
人工智能·笔记·opencv
AI即插即用22 分钟前
即插即用系列 | CVPR 2025 DICMP:基于深度信息辅助的图像去雾与深度估计双任务协同互促网络
图像处理·人工智能·深度学习·神经网络·计算机视觉·视觉检测
Coder_Boy_23 分钟前
基于SpringAI的智能平台基座开发-(五)
java·人工智能·spring boot·langchain·springai
AI即插即用23 分钟前
即插即用系列 | WACV 2024 CSAM:面向各向异性医学图像分割的 2.5D 跨切片注意力模块
图像处理·人工智能·深度学习·神经网络·目标检测·计算机视觉·视觉检测
今夕资源网23 分钟前
仙宫云自动抢算力工具可后台运行,仙宫云自动抢卡,仙宫云自动抢显卡,AI云平台抢算力
人工智能·后台·仙宫云·抢算力·抢显卡·抢gpu
小小工匠24 分钟前
LLM - AgentScope + Mem0 搭建实战可用的 AI Agent 记忆系统
人工智能·mem0·agentscope
LucianaiB25 分钟前
【基于昇腾平台的CodeLlama实践:从环境搭建到高效开发】
运维·人工智能·性能优化