对于描述一个图像,尤其是这种相对来说色彩比较简单的图像,他其实在一个色带上面,他能够站的这个位数是很少的,整个空间来看是非常稀疏的,就会给后面的计算带来一些问题
另外一种做法是通过现对颜色进行聚类,形成于自己的具体的bin,他就不会像刚才那样把所有的颜色全部列出,而是说图像上出现了什么颜色,它的横坐标就是什么颜色,它适用Lab空间,与rgb等空间不同,无法这样的明显的可以划出横坐标刻度,所以它更适合用聚类
一阶导数取到极值的地方 ,就是他的边缘
虽然其他地方也取到极值了,但肯定不是边缘,只不过是因为图像上的噪声点、或者是颜色过渡不均匀
为了避免这一点,先对他进行一个平滑,如果不是特别在意边缘轮廓的话,可以用高斯
所以真正的一个边缘提取的方法是是先做高斯平滑,然后求一阶导数的极值,俩者合二为一,变成高斯滤波一阶导
但实际情况要远远比这个复杂多,最常见的就是各种各样不同角度的斜着的边缘斜着的边缘,
其实是通过两个方向求导数,然后把这两方向的求导数拼在一块
效果如下: 梯度的强度不管往哪个方向的,但凡是形成轮廓的地方,他的这个强度都会比较大
越大高斯滤波越扁平,能捕捉到不同尺度的边缘越大边缘更宏观、模糊
这是因为有一些特征的一些点存在于这个图像当中,我们能识别出这些点的不变性
按照矩阵的写法,如下:
二阶导数在零点的地方就是边界,等于零的是边界。二阶导也会产生一个极值,其实就是一定意义,上来说就是斑点。 拉普拉斯算子其实就是两阶的两个方向叠加在一块
如果高斯取的核比较小的话,就会细节的地方都当作边界的识别出来
二阶导数取极值为斑点
关键点的方向估计,是为解决旋转不变性,定完方向,要基于主方向描述周围点来确定周围特征描述
DOG:高斯的差分
保留高频特征
大的其实是找小特征小的是找原图上面的一些大特征
harris速度和效果都不如fast,
圆半径即
2至3的过程中需要将倾斜的栅格中的方向映射到横平竖直的栅格中
也就是主方向为x轴正方向的条件下 ,它的邻近区域的特征描述
v
然后仍然和他的上面一层的和下面一层的这个二十个点进行一个比较,如果是最大或者最小值的话。那么他就是一个关键点
???
fast角点一个是没有尺度特征,另外一个旋转不变性的一个特征,ORB针对这两点进行改进并用brief描述周围的点的特征。