参考:https://mp.csdn.net/postedit/97361911
https://mp.csdn.net/postedit/97314568
https://mp.csdn.net/postedit/97310108
腐蚀和膨胀,开运算,闭运算:推荐博客:https://blog.csdn.net/bagboy_taobao_com/article/details/5574159
腐蚀和膨胀推荐:
1. 腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来消除小且无意义的物体。
腐蚀的算法:
用3x3的结构元素,扫描图像的每一个像素
用结构元素与其覆盖的二值图像做“与”操作
如果都为1,结果图像的该像素为1。否则为0。
结果:使二值图像减小一圈
2. 膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。
膨胀的算法:
用3x3的结构元素,扫描图像的每一个像素
用结构元素与其覆盖的二值图像做“与”操作
如果都为0,结果图像的该像素为0。否则为1
结果:使二值图像扩大一圈
开运算:先腐蚀后膨胀的过程称为开运算。用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。
闭运算推荐:先膨胀后腐蚀的过程称为闭运算。用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。
基于图像灰度的方法通过计算点的曲率及梯度来检测角点,避免了第一类方法存在的缺陷;
(1)算子用高斯函数代替二值窗口函数,对离中心点越近的像素赋于越大的权重,以减少噪声影响。
(2)利用水平,竖直差分算子对图像的每个像素进行滤波以求得Ix,Iy,进而求得M中的四个元素的值。
(3)对M的四个元素进行高斯平滑滤波,为的是消除一些不必要的孤立点和凸起,得到新的矩阵M。
(4)接下来利用M计算对应每个像素的角点响应函数R
(5)局部极大值抑制,同时选取其极大值
(6)在矩阵R中,同时满足R(i,j)大于一定阈值threshold和R(i,j)是某领域内的局部极大值,则被认为是角点。
(1)阈值决定角点的数量;增大alpha的值,降低角点检测的灵性,减少被检测角点的数量;减小alpha值,增加角点检测的灵敏性,增加被检测角点的数量。
(2)Harris角点检测算子对亮度和对比度的变化不敏感;
这是因为在进行Harris角点检测时,使用了微分算子对图像进行微分运算,而微分运算对图像密度的拉升或收缩和对亮度的抬高或下降不敏感。
(3)Harris角点检测算子具有旋转不变性
Harris角点检测算子使用的是角点附近的区域灰度二阶矩矩阵,而二阶距矩阵可以表示一个椭圆,椭圆的长短轴正是二阶矩矩阵特征值平方根的倒数。当特征椭圆转动时,特征值并不发生变化,所以判断角点响应值也不发生变化,由此说明Harris角点检测算子具有旋转不变性。
(4)Harris角点检测算子不具有尺度不变性
引入尺度不变的特征,主要的思想是每个检测到的特征点都伴随着对应的尺寸因子;在计算特征点的时候把尺度因素加入之中,与SIFT算法类似,SIFT算法比较稳定,检测特征点更多,但是复杂度较高,而SURF要运算简单,效率高,运算时间短一点。Hessian黑森矩阵构建(黑森矩阵是SURF算法的核心)
(1)Scale invariant feature Transform,SIFT 目标是解决低层次特征提取及其图像匹配应用中的许多实际问题;图像尺度(特征大小)和旋转不变性,而且对光照变化也具有一定程度的不变性;SIFT方法还可以减少由遮挡、杂乱和噪声所引起的低提取概率。SURF算法是对SIFT算法加强版,同时加速的具有鲁棒性的特征。SURF最大的特征在于采用了harr特征以及积分图像integral image的概念,这大大加快了程序的运行时间。
推荐:https://blog.csdn.net/songzitea/article/details/16986423
推荐: https://blog.csdn.net/songzitea/article/details/13627823
ORB(Oriented FAST and Rotated BRIEF)是一种快速特征点提取和描述的算法。这个算法是由Ethan Rublee, Vincent Rabaud, Kurt Konolige以及Gary R.Bradski在2011年一篇名为“ORB:An Efficient Alternative to SIFTor SURF”的文章中提出。ORB算法分为两部分,分别是特征点提取和特征点描述。特征提取是由FAST(Features from Accelerated Segment Test)算法发展来的,特征点描述是根据BRIEF(Binary Robust IndependentElementary Features)特征描述算法改进的。ORB特征是将FAST特征点的检测方法与BRIEF特征描述子结合起来,并在它们原来的基础上做了改进与优化。据说,ORB算法的速度是sift的100倍,是surf的10倍。
ORB是一种快速的特征提取和匹配的算法。它的速度非常快,但是相应的算法的质量较差。和sift相比,ORB使用二进制串作为特征描述,这就造成了高的误匹配率。ORB算法的特征匹配效果比较理想,并且具有较稳定的旋转不变性;ORB算法在尺度方面效果较差,在增加算法的尺度变换的情况下仍然没有取得较好的结果。
步骤(1)Fast的特征提取:粗提取,机器学习的方法筛选最优特征点,非极大值抑制去除局部较密集特征点, 特征点的尺度不变形,特征点的旋转不变性;(2)BRIEF:BRIEF算法计算出来的是一个二进制串的特征描述符。它是在一个特征点的邻域内,选择n对像素点pi、qi(i=1,2,…,n)。然后比较每个点对的灰度值的大小。如果I(pi)> I(qi),则生成二进制串中的1,否则为0。所有的点对都进行比较,则生成长度为n的二进制串。一般n取128、256或512,opencv默认为256。另外,值得注意的是为了增加特征描述符的抗噪性,算法首先需要对图像进行高斯平滑处理。在ORB算法中,在这个地方进行了改进,在使用高斯函数进行平滑后,又用了其他操作,使其更加的具有抗噪性。
推荐:https://blog.csdn.net/zouzoupaopao229/article/details/52625678
Histogram of Oriented Gradient descriptors provide a dense overlapping description of image regions,即统计图像局部区域的梯度方向信息来作为该局部图像区域的表征。
HOG有点类似于SIFT特征描述子,区别:
1)HOG没有选取主方向,也没有旋转梯度方向直方图,因而本身不具有旋转不变性(较大的方向变化),其rotate不变性是通过采用不同旋转方向的训练样本来实现的;
2)HOG本身不具有scale不变性,其scale不变性是通过改变检测图像的size来实现的;
3)HOG是在dense采样的图像块中求取的,在计算得到的HOG特征向量中隐含了该块与检测窗口之间的空间位子关系,而SIFT特征向量是在一些独立并离散分布的特征点上提取的(dense SIFT除外)。
步骤:
1)全局图像归一化 目的:减少光照的影响
2)计算图像梯度 目的:通过梯度信息来描述图像中物体的边缘、轮廓、形状等纹理信息
3)统计局部图像梯度信息 目的:统计局部图像梯度信息并进行量化(或称为编码),得到局部图像区域的特征描述向量。该特征描述算向量既能够描述局部图像的内容,又能够对该图像区域内的pose或外观的小变化具有不变性。
4)归一化 目的:对每个block得到的histogram进行归一化后,能够够对光照、阴影、边缘对比度等具有更好的不变性
5)即将所有“block”的HOG descriptors组合在一起,形成最终的feature vector,该feature vector就描述了detect window的图像内容。
能够有效地描述图像区域的local shape的特征信息, 具有光照不变性;采用“cell”方式进行梯度方向量化,使得特征描述算子具有一些(a small amount of)平移或旋转不变性
是一种图像区域分割法(基于区域的图像分割算法), 其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆地,而集水盆地的边界则形成分水岭;分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢浸人水中,随着浸入的加深,每一个局部极小值的影响域慢慢向外扩展,在两个集水盆汇合处构筑大坝即形成分水岭。然而基于梯度图像的直接分水岭算法容易导致图像的过分割,产生这一现象的原因主要是由于输入的图像存在过多的极小区域而产生许多小的集水盆地,从而导致分割后的图像不能将图像中有意义的区域表示出来。所以必须对分割结果的相似区域进行合并。
因为传统分水岭算法(基于灰度图的梯度)存在过分割的不足,OpenCV提供了一种改进的分水岭算法,基于标记点的改进算法是利用先验知识来帮助分割的一种方法。因此,改进算法的关键在于如何获得准确的标记图像,即如何将前景物体与背景准确的标记出来。
推荐:https://blog.csdn.net/dcrmg/article/details/52498440
超像素分割:https://www.zhihu.com/question/27623988
推荐:https://blog.csdn.net/abcjennifer/article/details/6671288
超像素分割:超像素最直观的解释,便是把一些具有相似特性的像素“聚合”起来,形成一个更具有代表性的大“元素”;一来大大降低了维度;二来可以剔除一些异常像素点。
ransac:随机抽样一致算法(random sample consensus,RANSAC),采用迭代的方式从一组包含离群的被观测数据中估算出数学模型的参数。推荐:https://blog.csdn.net/laobai1015/article/details/51682596
最小二乘法:推荐:https://blog.csdn.net/tclxspy/article/details/51211578
单应矩阵的分解为旋转和平移分量: