OpenCV3.1 SIFT使用

OpenCV3对OpenCV的模块进行了调整,将开发中与nofree模块放在 了OpenCV_contrib中(包含SIFT),gitHub上的官方项目分成了两个,opencv 与 opencv_contrib。所以,要使用sift接口需在opencv3.1基础上,再安装opencv_contrib。本文主要记录如何安装opencv_contrib,配置Xcode,sift接口的用法。
环境:OSX + Xcode + OpenCV3.1

  • OpenCV31 SIFT使用

    • install opencv_contrib
    • configuration Xcode
      • pro_name Build Setting Search Paths
      • pro_name Build Setting Other Linker Flags
    • sample of sift
    • References

install opencv_contrib

  • download contrib source code https://github.com/Itseez/opencv_contrib, follow README.md to install
$ cd <opencv_build_directory>
$ cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>
$ make -j5
$ sudo make install

Where <opencv_build_directory> and <opencv_source_directory> is directory in opencv3.1 install tutorial

configuration Xcode

like How to develop OpenCV with Xcode

pro_name Build Setting > Search Paths

  • /usr/local/lib
  • /usr/local/include

pro_name Build Setting >Other Linker Flags

  • -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn -lopencv_dpm -lopencv_fuzzy -lopencv_line_descriptor -lopencv_optflow -lopencv_plot -lopencv_reg -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_rgbd -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_face -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_flann -lopencv_xobjdetect -lopencv_objdetect -lopencv_ml -lopencv_xphoto -lippicv -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_photo -lopencv_imgproc -lopencv_core

sample of sift

  • sample in (souce_dir)/samples/cpp/tutorial_code/xfeatures2D/LATCH_match.cpp or bellow

    
    #include "opencv2/xfeatures2d.hpp"//
    // now, you can no more create an instance on the 'stack', like in the tutorial
    // (yea, noticed for a fix/pr).
    // you will have to use cv::Ptr all the way down:
    //
    cv::Ptr<Feature2D> f2d = xfeatures2d::SIFT::create();
    //cv::Ptr<Feature2D> f2d = xfeatures2d::SURF::create();
    //cv::Ptr<Feature2D> f2d = ORB::create();
    // you get the picture, i hope..//-- Step 1: Detect the keypoints:
    std::vector<KeyPoint> keypoints_1, keypoints_2;
    f2d->detect( img_1, keypoints_1 );
    f2d->detect( img_2, keypoints_2 );//-- Step 2: Calculate descriptors (feature vectors)
    Mat descriptors_1, descriptors_2;
    f2d->compute( img_1, keypoints_1, descriptors_1 );
    f2d->compute( img_2, keypoints_2, descriptors_2 );//-- Step 3: Matching descriptor vectors using BFMatcher :
    BFMatcher matcher;
    std::vector< DMatch > matches;
    matcher.match( descriptors_1, descriptors_2, matches );

References

https://github.com/Itseez/opencv_contrib
https://github.com/Itseez/opencv
http://blog.csdn.net/lijiang1991/article/details/50756065
http://docs.opencv.org/3.1.0/d5/d3c/classcv_1_1xfeatures2d_1_1SIFT.html#gsc.tab=0

OpenCV3.1 xfeatures2d::SIFT 使用相关推荐

  1. OpenCV3如何使用SIFT和SURF Where did SIFT and SURF go in OpenCV 3?

    If you've had a chance to play around with OpenCV 3 (and do a lot of work with keypoint If you've ha ...

  2. opencv4.10不能使用sift = cv2.xfeatures2d.SIFT_create()

    python3.6 报错: error: (-213:The function/feature is not implemented) This algorithm is patented and i ...

  3. 图像特征点—SIFT特征点

    图像特征点-SIFT特征点 关于SIFT特征点,以下三篇博客说的非常详细,再次不再赘述. https://mp.weixin.qq.com/s/XVB88f119gRqpwTTRvTyrA https ...

  4. OpenCV-Python Feature2D 特征点检测 (SIFT,SURF)

    git LINK 下面介绍属于nonfree的特征检测方法,如SIFT和SURF. 这些方法在opencv-contrib中,所以想要使用前,请卸载当前非contrib版本的opencv,即pip u ...

  5. OpenCV3.4.1+opencv_contrib编译:windows10

    做计算机视觉的朋友,估计没有人没用过OpenCV,著名的开源计算机视觉算法库.OpenCV还在不断发展中,最新的3.4版本,已经可以支持cnn了,以后估计会有集成更多的功能. 不过,由于知识产权的原因 ...

  6. 【CV学习4】OpenCV-Python: SIFT Demo one

    # -*-coding:utf-8-*- #author: lyp time: 2018/7/31 import cv2 import numpy as npimg = cv2.imread('SLA ...

  7. Ubuntu下安装opencv3.4.6+opencv_contrib

    简介 在安装HyperLPR(C++)的过程中需要opencv+opencv_contrib. 1.1 安装包下载 注意 opencv与opencv-contrib的版本应该一致 opencv 下载  ...

  8. OpenCV-Python Feature2D 特征点检测(含SIFT/SURF/ORB/KAZE/FAST/BRISK/AKAZE)

    对于OpenCV-Python,OpenCV2.x和OpenCV3.x的函数使用方式有很大不同.网上很多教程都还是基于OpenCV2.x,此版本已经逐渐被弃用. 本教程针对特征点检测,分析OpenCV ...

  9. Opencv实现Sift、Surf、ORB特征提取与匹配

    在opencv3中,这三个算子都转移到一个名为xfeature2d的第三方库中,而在opencv2中这三个算子在nonfree库中. 关于在vs下配置opencv可参考我转载的另外一篇文章.注意版本号 ...

最新文章

  1. 分析460万份数据发现,女警比男警检查汽车几率少2倍,但发现违禁品还多10%
  2. 加州大学信息科学院长:数据科学课程不只是工程师才修的
  3. java udp丢包_linux 系统 UDP 丢包问题分析思路
  4. MATLAB 三路频分复用通信系统
  5. 【翻译+整理】.NET Core的介绍
  6. android 多线程编程
  7. 数据分析项目:母婴商品销量分析
  8. 计算机科学与技术毕业论文题目【115个】
  9. r语言中v1=c(v1i),1 R语言介绍 | R语言教程
  10. 计算机怎么放映文档,如何从Apple TV上的计算机播放视频文件
  11. 十分钟超简单完成百度地图3.0离线功能
  12. 200万年薪的博士,华为到底看重什么?
  13. C++17之省略不必要的拷贝Copy Elision
  14. 小何的第一篇博客+GitHub的基本设置
  15. 在VC中编程实现按钮的启用(enable)和禁用(disable)
  16. 计算机接口电路的主要功能,接口电路的分类、功能及作用
  17. 火绒安全安装出现NSIS error
  18. 十一年磨一剑:中科大数学教授成功证明微分几何学两大猜想
  19. C3P0的三种配置方式以及基本配置项详解
  20. 《流畅的python》1.2 笔记

热门文章

  1. (java版)用邻接表实现无向图的创建
  2. [二分答案]leetcode2226:每个小孩最多能分到多少糖果(medium)
  3. noip 2018 模拟赛16
  4. 不一样角度带您了解 Flutter 中的滑动列表实现 | 开发者说·DTalk
  5. c++、虚函数、强制类型转换、多态
  6. 读《世界是平的》有感
  7. 项目二 管理与Linux系统
  8. 先进的马达控制解决方案进入主流
  9. 强化学习之蒙特卡洛学习,时序差分学习理论与实战
  10. 汉澳sinox无缝运行winxp,QQ游戏影音不在话下