AKAZE 局部特征匹配
级联分类器使用
等比例缩放图片
给图片加logo
鱼眼校正
智能答卷识别
opencv滤镜效果
灰度图像增强方式

基础知识点

AKAZE特征提取算法是局部特征描述子算法,是SIFT算法的改进、采用非线性扩散滤波迭代来提取与构建尺度空间、采用与SIFT类似的方法寻找特征点,
1 在描述子生成阶段采用ORB类似的方法生成描述子
2 描述子比ORB多了旋转不变性特征
3 ORB采用LDB方法,KAZE采用 M-LDB。

orb算法获取尺度不变性,构建了图像金字塔,在金字塔的每一层上都检测关键点。AKAZE则是改进算法。实际上,把AKAKE改成ORB就是执行ORB算法

//opencv里面,修改算法名称即可Ptr<ORB> detector = ORB::create(minHessian);/Ptr<AKAZE> detector = AKAZE::create();

找出关键点很简单,就是下面做法

vector<KeyPoint> keypoints;
detector->detect(src, keypoints, Mat());//找出关键点

show me the code

#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>using namespace cv;
using namespace std;int main(int argc, char** argv) {Mat img1 = imread("in.jpg", IMREAD_GRAYSCALE);Mat img2 = imread("big2.jpg", IMREAD_GRAYSCALE);if (img1.empty() || img2.empty()) {printf("could not load images...\n");return -1;}imshow("box image", img1);imshow("scene image", img2);// extract akaze featuresPtr<AKAZE> detector = AKAZE::create();vector<KeyPoint> keypoints_obj;vector<KeyPoint> keypoints_scene;Mat descriptor_obj, descriptor_scene;detector->detectAndCompute(img1, Mat(), keypoints_obj, descriptor_obj);detector->detectAndCompute(img2, Mat(), keypoints_scene, descriptor_scene);// matchingFlannBasedMatcher matcher(new flann::LshIndexParams(20, 10, 2));//FlannBasedMatcher matcher;vector<DMatch> matches;matcher.match(descriptor_obj, descriptor_scene, matches);// draw matches(key points)Mat akazeMatchesImg;/*drawMatches(img1, keypoints_obj, img2, keypoints_scene, matches, akazeMatchesImg);imshow("akaze match result", akazeMatchesImg);*/vector<DMatch> goodMatches;double minDist = 100000, maxDist = 0;for (int i = 0; i < descriptor_obj.rows; i++) {double dist = matches[i].distance;if (dist < minDist) {minDist = dist;}if (dist > maxDist) {maxDist = dist;}}printf("min distance : %f", minDist);for (int i = 0; i < descriptor_obj.rows; i++) {double dist = matches[i].distance;if (dist < max(1.5*minDist, 0.02)) {goodMatches.push_back(matches[i]);}}drawMatches(img1, keypoints_obj, img2, keypoints_scene, goodMatches, akazeMatchesImg, Scalar::all(-1),Scalar::all(-1), vector<char>(), DrawMatchesFlags::NOT_DRAW_SINGLE_POINTS);imshow("good match result", akazeMatchesImg);waitKey(0);return 0;
}

下面为大图

小图

opencv AKAZE 局部特征匹配算法相关推荐

  1. OpenCV AKAZE本地特征匹配

    OpenCV AKAZE本地特征匹配 AKAZE本地特征匹配 简介 源代码 解释 加载图像和单应性 使用AKAZE检测关键点并计算描述符 使用蛮力匹配器查找2-nn个匹配项 检查我们的匹配项是否适合单 ...

  2. OpenCv-C++-KAZE(AKAZE)局部特征匹配(二)

    上一篇已经做出了KAZE(AKAZE)局部特征的检测,就差匹配没有做到. 那么,现在来实现一下: 放上代码: #include<opencv2/opencv.hpp> #include&l ...

  3. OpenCV A-KAZE匹配的实例(附完整代码)

    OpenCV A-KAZE匹配的实例 OpenCV A-KAZE匹配的实例 OpenCV A-KAZE匹配的实例 #include <opencv2/features2d.hpp> #in ...

  4. opencv ORB特征匹配

    AKAZE 局部特征匹配 级联分类器使用 等比例缩放图片 给图片加logo 鱼眼校正 智能答卷识别 opencv滤镜效果 灰度图像增强方式 opencv模板匹配 基础知识点 ORB 算法 使用 FAS ...

  5. 相机标定+鸟瞰图生成(VS2017+OpenCV)

    一.要求: 1.用自己的手机采集棋盘板定标数据: 2.实现或调用 角点检测.局部特征提取.局部特征匹配算法,标定自己手机的内参: 3.改变外参,生成不同视角的新图像. 二.实验过程: 1.实验前准备: ...

  6. OpenCV完整教程专栏完整目录

    OpenCV完整教程专栏完整目录 专栏说明如下 专栏目录 专栏说明如下 内容:OpenCV完整教程 数量:403篇博文(2023年2月15日截止) 更新时间至:2023年2月15日(后续加上去的博文, ...

  7. 使用Python,OpenCV进行卡类型及16位卡号数字的OCR

    使用Python,OpenCV进行卡类型及16位卡号数字的OCR 1. 效果图 2. 原理 2.1 OCR-A字体 2.2 检测过程步骤 2.3 优化 3. 源代码 参考 这篇博客将介绍如何通过Ope ...

  8. 基于NCC的模板匹配算法的一些补充

    基于NCC的模板匹配算法的一些补充 基于灰度差值的相似度计算方法SAD和SSD 在模板匹配算法中,灰度值差值的相似度计算方法SAD和SSD是最基础的,相关公式如下,摘自<机器视觉算法与应用> ...

  9. 运用OpenCV进行双目匹配时各参数的意义

    在进行双目匹配的过程中发现匹配参数对最后得到的视差的结果有很大的影响.但是对各参数的意义本人却不是很明白.看了邹宇华老师的文章后有点感觉了,特此把这部分摘录出来研究下. OpenCV中双目匹配算法有: ...

最新文章

  1. leetcode-386 字典序排数
  2. 04-dispatch_group
  3. 2018/5/1-----1987年图灵奖PPT
  4. 点击别的地方隐藏下拉列表
  5. 可持久化线段树学习笔记
  6. ThinkPHP6项目基操(11.实战部分 部署后台静态页面模板及后台登录页面)
  7. Qt:Qt实现Winsock网络编程—TCP服务端和客户端通信(多线程)
  8. 解析xml_QT开发(四十四)——流方法解析XML
  9. #Win8# 开发你的第一个App《Dota宝典》
  10. 188. 买卖股票的zui佳时机 IV(JavaScript)
  11. 页面查询条件选框被隐藏的问题
  12. 最长回文子串manacher算法模板
  13. 数据结构实验病毒感染检测问题(C++)
  14. [项目管理]-第十章:配置管理
  15. java会导致蓝屏么_电脑经常会蓝屏?可能是这些原因导致的
  16. 设计模式-访问者模式-java-中文版
  17. 孙子兵法--你如何来做好事情
  18. [蓝牙 Mesh Zephyr]-[001]-Mesh beacon
  19. 《Linux C编程环境》 课程大实验 及近期练习题:计算器,复写机,目录树创建,批处理执行器,扫雷
  20. 用户画像之基础知识(人群画像|会话环境维度|行为画像)

热门文章

  1. 珠江三角洲 芯片恩仇录
  2. 《Cortex-M0权威指南》之Cortex-M0技术综述
  3. linux下重装mysql_Linux下安装mysql
  4. 运筹学状态转移方程例子_如何确定动态规划的转移方程
  5. 中教云教师备课云平台获北京市新技术新产品(服务)认定
  6. 杀入“果链”!闻泰科技取代台厂成苹果MacBook组装供应商
  7. 一场价值4500亿的抉择
  8. Redmi游戏手机即将登场:天玑1200加持 主打极致性价比
  9. 中国移动订330万台Redmi K40系列 网友:怪不得抢不到
  10. 特斯拉副总裁陶琳:Model Y 本月开始陆续交付