| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> [练气期]计算机视觉之从矩阵本质修炼图像几何变换秘籍 -> 正文阅读 |
|
[人工智能][练气期]计算机视觉之从矩阵本质修炼图像几何变换秘籍 |
[练气期]计算机视觉之从矩阵本质修炼图像几何变换秘籍练气期,我们需要掌握哪些图像处理知识?掌握OpenCV和图像处理的基础知识,并进行实践操作,具体包含:
本文讲解5部分,本质上就是图像矩阵在几何坐标系中,从一个坐标位置映射到另外一个坐标位置的变换运算。 总体路线我的知乎专栏:自动驾驶之计算机视觉方向化神级修炼,可以看到计算机视觉的完整修炼路径。
基本概念图像几何变换 Geometry transform就是图像矩阵在几何坐标系中,从一个坐标位置映射到另外一个坐标位置的变换运算。具体的变换方法包含平移、镜像、缩放、旋转、仿射变换、透视、重映射等。 各个几何变换的关系(参考仿射变换及其变换矩阵的理解)如下图,仿射变换包含缩放、平移、旋转、剪切变形(shear)等,透视变换包括仿射变换。 仿射变换包括如下所有变换,以及这些变换任意次序次数的组合:
图像插值图像几何空间变换,就会涉及像素点的移动,移动后的像素点变多、或者移动的位置是非整数时,就要用到插值计算。缩小图像,一般使用**区域插值(Inter Area)方法,放大图像时,一般会用双线性插值(Inter linear)或者三线性插值(Inter Cubic)**算法实现。下面表格是OpenCV支持的几种常用的插值方法:
仿射变换图像W = 变换矩阵M X 原始图像O 仿射变换本质是图像几何坐标系的矩阵变换,仿射变换后图像的平值性和平行性保持不变。变换矩阵是2*3的大小。 仿射的变换的变换矩阵如下,由6个自由度: 线性代数的基本概念理解线性代数的基本概念是理解图像几何变换的基础,也是后续所有更高层次课程的基础,所以这部分我们需要花时间去理解和掌握。可以参考强大的B站 线性代数的本质 。 线性变换 linear transformation几何中一种简单的变换方式,然而功能却非常强大。必须满足两个性质:
基本概念
仿射矩阵仿射矩阵M是2* 3的结构。其中,m和n向量表示的是新的基向量,o向量表示的是新的坐标原点的位置。 当坐标内的点旋转,实际上就可以等效为坐标系的旋转,使用新的坐标基向量表示真个坐标系: ( x ′ y ′ ) = x ( cos ? θ sin ? θ ) + y ( ? sin ? θ cos ? θ ) = ( cos ? θ ? sin ? θ sin ? θ cos ? θ ) ( x y ) \begin{pmatrix} x' \newline y' \end{pmatrix} =x \begin{pmatrix} \cos\theta \newline \sin \theta \end{pmatrix} +y \begin{pmatrix} -\sin \theta \newline \cos \theta \end{pmatrix}= \begin{pmatrix} \cos\theta &-\sin\theta \newline \sin\theta & \cos\theta \end{pmatrix} \begin{pmatrix} x \newline y \end{pmatrix} (x′y′?)=x(cosθsinθ?)+y(?sinθcosθ?)=(cosθ??sinθsinθ?cosθ?)(xy?) 所有的变换矩阵都是基向量和原点的变换。 各种变换的矩阵对应关系,就很容易推导了: 图像几何变换实践修炼图像缩放
图片的缩小和放大,输入的数据类型必须是ints,同时注意dsize的顺序,是(col,row)列在前
图像的尺寸变换:
图像反转反转函数flip比较简单,又三种情况,绕x、y轴分别旋转和同时绕x,y轴旋转
仿射变换仿射变换可以实现一系列的几何变换,包含平移、旋转等。
仿射矩阵:
更一般的仿射变换,可以通过目标图像中的三个坐标点确定仿射矩阵。三个不在一条直线上的点,可以确定一个平面。
仿射矩阵:
参考文献
致谢致敬伟大的老师,如中国的孔子、西方的亚里士多德等,他们为后人教育付出了非常大的心血,同时为人类文明的进步做出巨大的贡献。如今高人辈出的年代,我作为一名普通的技术工作者,亦追求前辈的教诲,瞄准目标,坚定道路前进:凡人欲学一事,必先见明道理,立定脚跟,一眼看定,一手拿定,不做到急处不休。 Dave的专栏 -自动驾驶之计算机视觉修炼系列欢迎道友讨论交流,前辈传授经验。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 18:35:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |