在OpenCV里使用ORB
SIFT和SURF都是比较好的特征检测算法,但是你是否想每年都为这两个算法花一些钱去买它们的使用权呢?这两个算法都是受版本保护的,如果要使用必须付费购买。那么有没有不付费,也有与之相比美的算法呢?OpenCV的爱好者开发了一个新的免费算法来替代SIFT和SURF,这个算法就是ORB。
理论:
作为一个OpenCV粉丝,莫过于看到ORB算法的出处,居然是OpenCV Labs出品,这个算法在2011年由Ethan Rublee, Vincent Rabaud, Kurt Konolige and Gary R. Bradski发表在论文《ORB: An efficient alternative to SIFT or SURF》里。顾名思义,它在计算成本、匹配性能以及主要专利等方面是SIFT和SURF的一个很好的替代品。因为SIFT和SURF算法,你需要付钱才能使用它,但是ORB不用付费。
ORB算法整合了FAST关键点检测和BRIEF描述,同时在性能方面做了很多增强。首先它使用FAST去寻找关键点,接着使用Harris角方法找最优的N个点,然后用金字塔产生多尺度特征。但是FAST算法有一个问题,就是它不会计算角点的方向,所以怎么样才能加入旋转不变性呢?ORB开发人员接着下来作了如下修改。采用灰度质心法(Intensity Centriod)为每个特征点计算了主方向,这个向量方向是从角点位置指向这一块区域的质心方向。为了提高旋转不变性,用x和y计算矩,x和y应该在半径r的圆形区域内&#x
在OpenCV里使用ORB相关推荐
- 彩色图片在OpenCV里的表示方式
前面了解了灰度图片在python里的表示方式,也是图片的数据结构,它是采用numpy的ndarray来存储,是一个二维的数据结构.那么彩色图片是怎么样表示呢?难道也是采用二维数组吗?在理解表示方式之前 ...
- OpenCV里的常用Rect用法
OpenCV里通常定义一个矩形有两种方式,一种是通过矩形左上角和矩形宽高来定义: Rect_ (_Tp _x, _Tp _y, _Tp _width, _Tp _height) 另一种是通过矩形左上角 ...
- python直角坐标转极坐标_Python在OpenCV里实现极坐标变换功能
在中学里学习过直角坐标系,也叫做笛卡尔坐标系,它是正交坐标系,不过也学习过极坐标系,这种坐标系比较适合大炮发射的场合.极坐标系的定义如下: 在 平面内取一个定点O, 叫极点,引一条射线Ox,叫做极轴, ...
- 在OpenCV里用fillPoly填充多边形
前面学习过fillConvexPoly函数,这个函数是用来填充凸多边形的,但在OpenCV里还添加了fillPoly函数,这个函数与fillConvexPoly函数有什么差别呢?一般来说,fillPo ...
- 在OpenCV里实现游戏外挂的位置识别
前面学习过模板识别的函数,也演示过它的使用,但是还是不少学生来问我能不能用它来开发游戏的外挂,我的回答应该是肯定的.因为游戏是一种图形的展示,使用窗口的方法来识别已经不可能,根据位置识别只能固定的目标 ...
- 在OpenCV里使用机器学习库sklearn 实现手写数字识别1
前面学习过KNN的方式来实现手写数字识别,不过效果一般,那么有没有别的方法来试一试,或许可以改进一点呢.在本文里将要介绍使用SVM和HOG的方式来实现手写数字识别,比如最终结果如下图: 在这个例子里与 ...
- 在OpenCV里使用图片修复
有一些旧的图片可能保存得不好,会导致丢失了一些像素,如下图这样: 这时如果有人觉得这个图片很珍贵,要想去修复它,怎么办呢? 在OpenCV里提供了两种算法来进行图片修复,第一种是cv.INPAINT_ ...
- opencv里的Moments成员变量的理解
在opencv里,Moments定义如下(参考opencv官方文档) class Moments{public:Moments();Moments(double m00, double m10, do ...
- 在OpenCV里用drawContours画轮廓
在OpenCV里,找到物体的轮廓是最常用的功能,为什么这样说呢?因为太多的应用要使用这个功能了,比如数物体的个数,在种子实验室里常常要使用计算种子的个数,这时就需要拍照种子的照片,然后根据照片来数出种 ...
最新文章
- Red Hat忘记root密码,重置root管理员密码
- kinect 录制彩色和深度视频
- Linux网络服务之DNS(2)
- 为什么现在辞职的年轻教师越来越多?
- 前途,路应该怎么走?
- ubuntu java环境变量_hadoop:伪分布模式环境变量的配置
- Denoise_bayerdomain
- maya多边形建模怎样做曲面_maya多边形建模教程_maya建模教程
- 手把手教你SSM整合开发办公系统(OA)——报销单(含源码)
- 硬件防火墙和软件防火墙有什么区别
- win10桌面上鼠标右键卡顿(一直显示小圆圈)解决办法
- Springboot:商品库存并发更新,乐观锁失败重试机制
- 怎么计算机会成本,机会成本计算公式,实例解读机会成本
- swift脚本编程:一键生成AppIcon
- Microchip中文资料下载 .
- RSN Informatioon Element
- (php毕业设计)基于php学生在线考试管理系统
- Android中常用的adb指令
- 游戏外挂开发系列--游戏喊话器
- 连接FTP显示无法解析服务器,Serv-U服务FTP无法连接的原因分析
热门文章
- 荣耀v10鸿蒙系统死机了,抢救一台进水近乎报废的华为荣耀V10,不换主板,满血复活!...
- Fastapi交互式文档实现方法讲解
- matlab imshow同时多,matlab怎么同时显示imshow 两幅图片
- 涨知识!华为备忘录还能这样玩,难怪古人说好记性不如烂笔头
- IDEA 学生无需破解免费申请(可用学生证和教育邮箱申请)
- python自动生成企业名称查重脚本。
- 删掉带页眉的空白页结果把所有页眉都删掉解决办法
- lol韩服服务器位置,LOL韩服已成全球最大服务器,国服一区沦为村服?
- 生产车间执行6s精益生产管理
- [2G显卡]使用darknet/YOLO训练自己的数据