单应变换的局限性
单应变换
单应变换就是两个平面内保持共线的变换,变换是一个 3*3 的矩阵,因为齐次坐标的尺度无关性所以只有8个自由度。DLT(直接线性变换)算法讨论了单应变换的相关性质,以及变换矩阵的求解。
局限性
单应变换简单来说就是可以将一个四边形映射为另一个任意的四边形,只需要满足共线点变换后仍为共线即可。在很多算法中都使用到单应变换,但单应变换只能模拟两种情况的变换:
- 相机几何中心位置不变,目标场景任意
- 相机位置任意,目标场景为平面(或近似为平面,很多低空遥感图像都视作为平面)
单应变换就是两个平面内保持共线的变换,变换是一个 3*3 的矩阵,因为齐次坐标的尺度无关性所以只有8个自由度。DLT(直接线性变换)算法讨论了单应变换的相关性质,以及变换矩阵的求解。
单应变换简单来说就是可以将一个四边形映射为另一个任意的四边形,只需要满足共线点变换后仍为共线即可。在很多算法中都使用到单应变换,但单应变换只能模拟两种情况的变换:
原理可参考基于移动最小二乘法的曲线曲面拟合,曾清红,卢德唐,这里面已经讲得很详细了。可以结合CSDN 移动最小二乘原理,一起看,曾清红论文的式子稍微有点难懂,结合起来看很不错。
MLS(Moving Least-Squares),移动最小二乘,是一种比较方便的曲线、曲面拟合方法,和传统最小二乘法相比有很多优点,在论文中都提到了。这里主要对其原理做个简单的说明和补充。
霍夫变换可以用于边缘检测,更一般的则可以拟合曲线。基本原理如下:由曲线的定义式可得,如果 XY 确定,其对应的未知数构成的等式也可视作一个曲线表达式,这个新的表达式称作参数空间(自变量为原来的参数)改变 XY 的过程中这些位置构成的新的表达式必会都经过某一个固定点,这个固定点代表的参数就是原来曲线表达式。
主要介绍从傅里叶级数出发推导傅里叶变换,知乎有很多优秀的傅里叶变换的推导,这里给出一个从傅里叶级数出发,化离散为连续推导出傅里叶变换(也参考了网上的一些思路)
本文的傅里叶形式主要为冈萨雷斯中文版《数字图形处理 第三版》第四章给出的形式,下文用《DIP》替代。
Hassaballah, M. , A. A. Ali , and H. A. Alshazly . "Image Features Detection, Description and Matching." (2016).a
摘要 特征检测,描述和匹配是计算机视觉应用中重要的组成部分,因此它们在前几十年中受到了极大的注意。几种特征检测器和描述符已经在文献在中被提出,且对图像中那些具有潜在吸引力(即,具有一种独特的属性)的点做了许多定义。这篇文章为检测和描述图像特征介绍了基本符号和数学概念。然后文章还讨论了完美特征所具有的性质并且概述了现存的多种检测和描述方法。更深地,文章还解释了一些特征匹配方法。最后,文章讨论了最常用的检测和描述算法性能评估技术。
关键词 兴趣点 特征检测器 特征描述符 特征提取 特征匹配
计算机视觉与图形图像处理等方面傅里叶变换都是一个十分重要的工具,与傅里叶变换紧密结合起来的便是卷积和相关,尤其是卷积(Convolution)在《数字图像处理-冈萨雷斯》中对卷积的的介绍比较笼统。
参考:
【STL】 next_permutation
函数就是返回当前序列的下一个字典序,已经为最大字典序则返回
False,否则为返回 True
基本思想如下:
在博客网站下直接写文章时,会涉及到图像的路径,一般采用的相对路径。但是这样子在最后部署的时候的路径一般都会出现问题(或者自己另外写好的文章放到网站上就不可避免的重新编辑图像地址)。
一种解决方法是把所有图片放在图床上,就不存在上面的问题了。但本人一般喜欢本地写,图片资源直接放在GitHub上,或者博客网站的相应位置,所以将本地路径转换为 GitHub /网站 路径就显的很重要。
这里采用的是 Python 正则替换实现此功能
VERCEL提供静态网站的部署和CDN的加速,十分优秀的工具(适合白嫖)
在部署自己的静态网站后(从GITHUB),VERCEL提供了他们的子域名,当然可以使用自己的域名。可以用CNAME将域名导向VERCEL的子域名,也可以直接使用我们自己的域名(不通过CNAME)。具体配置参考:Custom Domain
但直接使用自己的域名会出现一个问题,使用VERCEL提供的DNS服务器后,原来配置的DNS解析失效了。原来我使用的是阿里云的云解析,在更改为VERCEL的DNS服务后,子域名的A记录失效。
树状数组是能够完成下述操作的数据结构:
给定一个初始值全为0的数列,\(a_1,a_2,\dots,a_n\)
即单点修改和区间和计算
有向图中称为,强连通分量。连通图和连通分量都是针对无向图。
在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。
树的直径,即树中距离最远的两个节点的距离。
选取树中的任意一个节点,计算距离它最远的节点(使用DFS或者BFS),然后以这个最远的节点为根计算距离它最远的节点。这段距离即为树的直径,根和此最远的点便是两个端点。
项目环境:Python 3.7
开发环境:Visual Studio Code
库依赖:
- matplotlib
- numpy
- opencv (cv2)