首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【5】OpenCV2.4.9实现图像拼接与融合方法【SURF、SIFT、ORB、FAST、Harris角点 、stitch 】

为了提高拼接的速度和质量,本文在特征提取时采用了改进的特征提取的算法,基于可靠性检测的SURF 算法,特征点粗匹配时采用快速匹配法。...SURF(Speeded Up Robust Feature) SURF算法是对图像进行不同尺寸空间的高斯卷积,然后进行特征点的提取,但是SURF对图像步骤进行了近似替换和简化,降低了计算量。...,SIFT的作者Lowe提出了比较最近邻距离与次近邻距离的SIFT匹配方式:取一幅图像中的一个SIFT关键点,并找出其与另一幅图像中欧式距离最近的前两个关键点,在这两个关键点中,如果最近的距离除以次近的距离得到的比率...ORB算法是brief算法的改进,那么我们先说一下brief算法有什么去缺点。...BRIEF的优点在于其速度,其缺点是: 不具备旋转不变性 对噪声敏感 不具备尺度不变性 而ORB算法就是试图解决上述缺点中1和2提出的一种新概念。值得注意的是,ORB没有解决尺度不变性。

2.7K30

一日一技:用Python做游戏有多简单

尺寸不用太在意,差不多就可以了,因为我们可以用代码动态调整。下面两张图是我随便找的素材,大家注意图中红框框住的地方,是这两张图片的尺寸。...= img_surf.subsurface(( 女神像左上角的横坐标 , 女神像左上角的纵坐标, 女神像的宽, 女神像的高)) 运行效果如下图所示: 可能有同学问:为什么女神的坐标是这样的呢?...在不传参数的情况下,默认.left=0, .top=0,PyGame会自动根据这个对象的尺寸计算.width,.height和.center。我们可以通过传入参数的形式主动设定。...坐标定位对象也不一定要用.rect,只要你在win.blit的时候对应起来就可以了。但是如果你统一使用.surf和.rect会给你带来很多好处。这一点我们到物体碰撞那个地方再讲。...否则跟一幅画有什么区别呢?

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PyGame:Python 游戏编程入门-1

    在这种情况下,窗口是 800x600,由常量SCREEN_WIDTH和SCREEN_HEIGHT第 20 行和第 21 行定义。这将返回Surface表示窗口内部尺寸的 a。...该术语blit代表Block Transfer,.blit()是您将一个内容复制Surface到另一个的方式。...在屏幕的确切中心,但看起来并不完全是这样: 图像看起来偏离中心的原因是.blit()将左上角放在surf给定位置。...您可以通过surf从屏幕的宽度和高度中减去宽度和高度来做到这一点,将每个除以 2 以定位中心,然后将这些数字作为参数传递给screen.blit(): # Put the center of surf...您将在屏幕中间大致看到一个白色矩形: 如果将第 59 行更改为 ,您认为会发生什么screen.blit(player.surf, player.rect)?

    2.2K40

    图像处理之特征提取

    (SURF、ORB、LBP、HAAR) ---- 先对几个概念和问题做一个解释: 图像为什么要灰度化?...找到所有特征点后,要去除低对比度和不稳定的边缘效应的点,留下具有代表性的关键点(比如,正方形旋转后变为菱形,如果用边缘做识别,4条边就完全不一样,就会错误;如果用角点识别,则稳定一些)。...去除这些点的好处是增强匹配的抗噪能力和稳定性。最后,对离散的点做曲线拟合,得到精确的关键点的位置和尺度信息。 3....②圆形LBP: 经典LBP用正方形来描述图像的纹理特征,其缺点是难以满足不同尺寸和频率的需求。Ojala等人对经典LBP进行了改进,提出了将3×3的正方形窗口领域扩展到任意圆形领域。...---- 本篇文章到此结束,有什么错误欢迎指正! ---- 补充: 1、SIFT / HOG 不同点: SIFT提取的关键点是角点,HOG提取的是边缘特征。

    5.6K64

    详解计算机视觉中的特征点检测:Harris SIFT SURF ORB

    得到M的特征值有什么用呢?若用奇异值分解的观点看这个问题。由于Jacobian矩阵 ,故M=JJ^T,这样M的特征值开根号后就是J的奇异值,因此M的特征值就可以体现I_X和I_Y的相对大小。...将G_l进行内插(这里内插用的不是双线性而是用的与降维时相同的滤波核)得到放大图像 ,使 的尺寸与 的尺寸相同,表示为: 其中 ,上面的系数4,是因为每次能参与加权的项,权值和为...为了提高关键点的稳定性,需要对尺度空间DoG函数进行曲线拟合。...而且在模糊的过程中,他们的高斯模板大小总是不变的,只是尺度 改变。对于surf算法,图像的大小总是不变的,改变的只是高斯模糊模板的尺寸,当然,尺度也是在改变的,但不需要降采样过程,节省时间。...SIFT特征与SURF特征的比较: [构建图像金字塔] SIFT特征利用不同尺寸的图像与高斯差分滤波器卷积;SURF特征利用原图片与不同尺寸的方框滤波器卷积。

    4.7K30

    基于图像识别的自动化

    ,为什么要手动调整匹配度?...二、 模板匹配 模板匹配(matchTemplate)是一种最具代表性的图像识别方法。...在 维基百科中可以查到,针对不同的特征形态有很多不同的特征检测算法。 维基百科中的特征检测 最著名的特征检测算法莫过于 SIFT 和 SURF 了。...SURF 特征点计算更快,速度比 SIFT 快 10 倍。SURF 使用方法与 SIFT 基本一致,但在实践中发现 SURF 找到的特征点比 SIFT 少太多,因而没有采用。...另外,常用且有效的消除错配的措施有两种: 1、第一个是 Lowe(SIFT 作者)提出的: 取一幅图像中的一个 SIFT 关键点,并找出其与另一幅图像中欧式距离最近的前两个关键点,在这两个关键点中,如果最近的距离除以次近的距离得到的比率

    8.1K70

    使用OpenCV进行图像全景拼接

    那就是更强大的方法(如SIFT,SURF和ORB)。 关键点和描述符 诸如SIFT和SURF之类的方法试图解决角点检测算法的局限性。...请注意,为了使用detectAndCompute(),我们需要一个关键点检测器和描述符对象的实例。它可以是ORB,SIFT或SURF等。...如果我们使用SIFT作为特征提取器,它将为每个关键点返回一个128维特征向量。如果选择SURF,我们将获得64维特征向量。下图显示了使用SIFT,SURF,BRISK和ORB得到的结果。...使用ORB和汉明距离检测关键点和描述符 使用SIFT检测关键点和描述符 使用SURF检测关键点和描述符 使用BRISK和汉明距离检测关键点和描述符 特征匹配 如我们所见,两个图像都有大量特征点。...事实证明,单应矩阵对我们传递给它的数据质量非常敏感。因此,重要的是要有一种算法(RANSAC),该算法可以从不属于数据分布的点中筛选出明显属于数据分布的点。

    1.9K10

    【愚公系列】2023年03月 其他-运动控制和机器视觉面试题(34道)

    25、Grabcut的基本原理和应用 26、SIFT/SURF的特征提取方法,是如何保持尺度不变性的?...一、运动控制和机器视觉 1、什么是运动控制 运动控制是指“控制移动”之意。其代表可以举出利用各种电机进行位置控制等。电能附加给电机,使电机工作,转换为动能。...如果一组点共线,则这组点中的每个值,都会使得H(p,Θ)加1,因此找到最大的H值,就是共线的点最多的直线,也可以通过设定阈值来判定。...通过高斯差分函数来识别潜在的对于尺度和旋转不变的关键点。...,然后再进行非极大值抑制,该算法提高了SIFT的速度和鲁棒性,且理论上SURF是SIFT速度的3倍。

    84530

    OpenCV特征点检测------Surf(特征点篇)

    在sift算法中,同一个octave层中的图片尺寸(即大小)相同,但是尺度(即模糊程度)不同,而不同的octave层中的图片尺寸大小也不相同,因为它是由上一层图片降采样得到的。...而在surf中,图片的大小是一直不变的,不同的octave层得到的待检测图片是改变高斯模糊尺寸大小得到的,当然了,同一个octave中个的图片用到的高斯模板尺度也不同。...利用非极大值抑制初步确定特征点         此步骤和sift类似,将经过hessian矩阵处理过的每个像素点与其3维领域的26个点进行大小比较,如果它是这26个点中的最大值或者最小值,则保留下来,当做初步的特征点...即在特征点的领域(比如说,半径为6s的圆内,s为该点所在的尺度)内,统计60度扇形内所有点的水平haar小波特征和垂直haar小波特征总和,haar小波的尺寸变长为4s,这样一个扇形得到了一个值。...然后把该框分为16个子区域,每个子区域统计25个像素的水平方向和垂直方向的haar小波特征,这里的水平和垂直方向都是相对主方向而言的。

    1.5K40

    PWM实现语音播放原理

    3.DAC产生声音的原理是什么 要想真正理解DAC是如何工作的,必须首先了解什么是模拟信号,模拟信号是一个不断变化的电压,它可以完美的表达不断变化的声波。...麦克风可以将传入的声音转换为代表声音的模拟电信号,这些电信号通过扬声器将模拟电信号转换成原始声音。 那么该如何记录这些模拟信号呢?很早的时候,人们就想出了将模拟信号存储为唱片上的凹槽。...这里比较关键,但需要好好理解,随着PWM频率的不断提升,其占空比的选择就不再那么随意了,精度会大大的降低。...通常PWM发出的声音无法去除掉这一点,但这些声音有时候会变得有趣,比如红白机8bit游戏音乐。 确切的说,如果要提升音质,那么可以采用16位数据。...7.后续 本文分析了声音通过PWM或者DAC产生的一些原理和过程,其中比较关键的是PWM从模拟信号的角度上来看,其占空比的变化也可以变成电压信号。

    3.8K12

    超详讲解图像拼接全景图原理和应用 | 附源码

    《用python和opencv检测图像中的条形码》 第六期《OpenCV测量物体的尺寸技能 get~》 第七期《还在用肉眼找不同吗?...这就是SIFT,SURF和ORB等更强大的方法的用武之地。 关键点和描述子 像SIFT和SURF这样的方法试图解决角点检测算法的局限性。...请注意,为了使用detectAndCompute(),我们需要一个关键点检测器和描述符对象的实例。它可以是ORB,SIFT或SURF等。...此时,我们为这两个图像提供了一组关键点和描述子。如果我们使用SIFT作为特征提取器,它将为每个关键点返回128维特征向量。如果选择SURF,我们将获得64维特征向量。...以下图像显示了使用SIFT,SURF,BRISK和ORB提取的一些功能。 ? 使用SIFT检测关键点和描述子 ? 使用SURF检测关键点和描述子 ? 使用BRISK和汉明距离检测关键点和描述子 ?

    9.8K56

    游戏编程之十一 图像页CPICPAGE介绍

    图像页指的是内存中保存图像数据的各种表面,屏幕缓存,各种图片数据,窗口界面的界面数据等,不要只依靠DirectX的表面,最好单独用一个对象来管理这些内容,避免直接与DirectX打交道,这样改变引擎和移植到别的操作系统的工作量会小得多...的对象即可.象我知道的"腾图"公司的余雪松和吴冬黎(两个非常优秀的程序师,我从他们那里收益非浅,他们也是国内比较早的"xx"游戏站点的主人)就有一套自己的功能强大的图像表面,他们不使用DirectX表面...char picStyle;//图像类型 BOOL CanWrite;//是否可以写 int picWidth,picHeight;//尺寸....系统设计时一般先完成功能,中后期才作优化,不要一开始马上陷入过多的技术细节,除非是决定系统成败的关键的速度要求.   ...通过二,三章的工作,现在系统便可以显示一些图像和动画了,显示部分有关的内容基本就完成,下一章介绍资源管理.声音部分在最后介绍,因为那部分实现起来比较简单.

    5400

    【机器学习】决策树(理论与代码)

    关键点1!!! 这里还有一种情况,就是所有的特征值都一样,但结果不同 我们可以选择取结果多的为return值。...关键点2!!! 拿到根节点,分支后得到新的数据,新的数据选节点计算方式一样, 递归直到叶子结束。...data1,2,3,4,5,6 为什么顺序跟西瓜书不一样呢,因为在计算信息熵的时候,最大值可能有多个值,所以构建的树可能不同,都正确。...x轴(比如说第一次:初始的x偏移量为:-1/2W,计算出来的根节点中心位置为:(1+W)/2W,相加得到:1/2),当前y轴偏移量作为y轴 cntrPt = (plotTree.xOff + (...感兴趣的可以试下。 二是 在纹理为稍糊、触感这里,ng与ok反了,这里是西瓜书打印错误。 最后亿点说明: 为什么构建树的时候只需要计算信息熵就可以了,而且不用移除出之前的特征?

    16010

    OpenCV特征点检测——ORB特征

    目录 什么是ORB 如何解决旋转不变性 如何解决对噪声敏感的问题 关于尺度不变性 关于计算速度 关于性能 Related posts 什么是ORB ORB是是ORiented Brief的简称。...文章同样提到,在此之前,需要选取合适的gaussian kernel对图像做平滑处理。(为什么要强调这一点,因为下述的ORB对此作了改进。)...BRIEF的优点在于速度,缺点也相当明显: 1:不具备旋转不变性。 2:对噪声敏感 3:不具备尺度不变性。 ORB就是试图解决上述缺点中的1和2....FAST应用的很多了,是出名的快,以防有人不知道,请看这里: 在Sift的方案中,特征点的主方向是由梯度直方图的最大值和次大值所在的bin对应的方向决定的。略嫌耗时。...但是这样只求速度的特征描述子,一般都是应用在实时的视频处理中的,这样的话就可以通过跟踪还有一些启发式的策略来解决尺度不变性的问题。 关于计算速度: ORB是sift的100倍,是surf的10倍。

    1.5K70

    【单目3D】在自动驾驶中将 2D 物体检测提升到 3D

    传统的 2D 对象检测具有中心(x,y)和大小(w,h)的 4 个自由度(DoF),自动驾驶环境下目标通常具备 7 个自由度:3D 物理尺寸(w、h、l)、3D 中心位置(x、y、z)和偏航。...X(1) 到 X(4) 代表投影在 2D 边界框边界上的 4 个选定顶点。()_x 函数采用齐次坐标的 x 分量,因此它是第一个和第三个分量之间的比率。同样的逻辑适用于 ()_y 函数。...有3个未知数和4个方程,所以是一个超定问题。 顶点的选择和最佳解决方案 接下来我们来讨论的一件事是如何从落在 2D bbox 四个边上的 8 个长方体顶点中选择 4 个。...此外,其他几篇论文也使用了关于汽车尺寸和关键点的强大先验知识来估计深度。...我们可以使用强烈的视觉线索和先验信息(例如汽车的平均尺寸)来进行有根据的猜测。 我们可以求解四个 2D/3D 紧约束方程,假设 2D 边界框是准确的。

    62710

    opencv角点检测学习总结

    第二个参数,OutputArray类型的dst,函数调用后的运算结果存在这里,即这个参数用于存放Harris角点检测的输出结果,和源图片有一样的尺寸和类型。...第二个参数,OutputArray类型的dst,函数调用后的运算结果存在这里,即这个参数用于存放输出结果,且和第一个参数中的Mat变量有一样的尺寸和类型。...,32位单通道,和src有同样的size blockSize :邻域大小,相邻像素的尺寸(见关于 cornerEigenValsAndVecs() 的讨论) apertureSize :滤波器的孔径大小...,32位单通道,和src有同样的size blockSize :邻域大小,相邻像素的尺寸(见关于 cornerEigenValsAndVecs() 的讨论) apertureSize :滤波器的孔径大小...,角点检测能做什么?

    97120

    OpenCV特征点检测------ORB特征

    文章同样提到,在此之前,需要选取合适的gaussian kernel对图像做平滑处理。(为什么要强调这一点,因为下述的ORB对此作了改进。)...BRIEF的优点在于速度,缺点也相当明显: 1:不具备旋转不变性。 2:对噪声敏感 3:不具备尺度不变性。 ORB就是试图解决上述缺点中的1和2....FAST应用的很多了,是出名的快,以防有人不知道,请看这里: 在Sift的方案中,特征点的主方向是由梯度直方图的最大值和次大值所在的bin对应的方向决定的。略嫌耗时。...,套用给的SURF特征例子程序改为ORB特征一直提示错误,类型不匹配神马的,由于没有找到示例程序,只能自己找答案。...(ORB特征论文:ORB: an efficient alternative to SIFT or SURF.点击下载论文) 经过查找发现: 描述符数据类型有是float的,比如说SIFT,SURF描述符

    51410

    快乐学AI系列——计算机视觉(2)特征提取和描述

    6、特征点定位:对于检测到的局部极值点,通常需要进行亚像素精度的定位,以提高匹配的精度。一个经典的亚像素精度的定位方法是图像金字塔,它通过不断缩小图像的尺寸来提高特征点的定位精度。...具体实现方法是通过对图像进行高斯模糊和降采样操作来构建尺度空间,并通过Difference of Gaussian(DoG)算法来检测尺度空间中的极值点,然后通过关键点的方向和尺度信息来描述关键点的局部特征...图片SURF算法SURF(Speeded Up Robust Features)算法是一种快速的特征点检测和描述算法,由Herbert Bay等人在2006年提出。...ORB算法采用FAST关键点检测算法来检测图像中的关键点,然后使用BRIEF算法来描述关键点的特征。为了提高ORB算法的鲁棒性,还引入了方向分配和旋转不变性的处理方法。...这些算法各具特点,应根据实际应用场景选择合适的算法。SIFT和SURF特征描述SIFT和SURF算法除了可以进行特征点检测之外,还可以进行特征描述。

    86630

    使用 OpenCV 对图像进行特征检测、描述和匹配

    介绍 在本文中,我将讨论使用 OpenCV 进行图像特征检测、描述和特征匹配的各种算法。 首先,让我们看看什么是计算机视觉,OpenCV 是一个开源计算机视觉库。...当人类看到这张图片时会发生什么? 他将能够识别图像中的面孔。因此,简单来说,计算机视觉就是让计算机能够像人类一样查看和处理视觉数据。计算机视觉涉及分析图像以产生有用的信息。 什么是特征?...你可以看到图像中有一些线条和圆圈。特征的大小和方向分别用圆圈和圆圈内的线表示。 我们将看到下一个特征检测算法。 1.4 加速鲁棒特征(SURF) SURF算法只是SIFT的升级版。...斑点检测 BLOB 代表二进制大对象。它指的是特定二值图像中具有共同属性的一组连接像素或区域。...它目前正在你的手机和应用程序中使用,例如 Google 照片,你可以在其中对人进行分组,你看到的图像是根据人分组的。 这个算法不需要任何主要的计算。它不需要GPU。快速而简短。它适用于关键点匹配。

    3K41
    领券