基于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插值
代码示例
总结
到此这篇关于基于OpenCV的仿射变换实现的文章就介绍到这了,更多相关OpenCV仿射变换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
详解pyppeteer(python版puppeteer)基本使用
这篇文章主要介绍了详解pyppeteer(python版puppeteer)基本使用 ,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-06-06django框架model orM使用字典作为参数,保存数据的方法分析
这篇文章主要介绍了django框架model orM使用字典作为参数,保存数据的方法,结合实例形式分析了字典参数结合django model实现保存数据相关操作技巧,需要的朋友可以参考下2019-06-06
最新评论