zoukankan      html  css  js  c++  java
  • GMS程序调试指南GMS-Feature-Matcher

    https://blog.csdn.net/qq_35705332/article/details/90231913

    https://github.com/JiawangBian/GMS-Feature-Matcher

     

    代码获得处:https://github.com/JiawangBian/GMS-Feature-Matcher
    作者交流处:https://jwbian.net/gms#comment-55(可以查看出现同样的问题)也有作者声明论文中表达错误的地方

    作者提供了三个版本:
    python/matlab/C++

    下面讨论C++版本与Matlab版本

    1 C++ version

    (1)VS2015新建一个项目,添加src文件夹下面的demo.cpp
    (2)添加属性表(opencv3以上即可)
    (3)修改demo.cpp头文件路径,修改为绝对路径
    #include “H:GMS-Feature-Matcher-masterGMS-Feature-Matcher-masterincludegms_matcher.h”(或者将该文件放在工程下面)
    (4)图片读入,可能为空,所以也把图片修改为绝对路径或者搬移到项目下

    运行结果

    在这里插入图片描述

    2 matlab version

    存在一个编译问题。

    错误展示
    
    • 1
    MEX配置为使用'Microsoft Visual C ++ 2013 Professional(C)'以进行C语言编译。
    警告:MATLAB C和Fortran API已更改,现可支持
    包含2 ^ 32-1个以上元素的MATLAB变量。不久以后,
    您需要更新代码以利用
    新的API。您可以在以下网址找到相关详细信息:http:
    //www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api html的。
    
    要选择不同的语言,请从以下选择中选择一种命令:
    mex -setup C ++ 
    mex -setup FORTRAN 
    错误使用mex 
    文件扩展名“未知。
    出错编译(第19行)
    mex('MexGMS.cpp','D: / OutPutResult / GMS / include /',IPath,LPath,lib1,
    lib2,lib3,lib4); 
    出错演示(第4行)
    编译;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    解决办法

    (1)compile.m文件内

    OpenCV = 'H:/Opencv3/opencv331_vc14/build/' 修改为你的路径
    version = '331';//修改为你的版本
    IPath = ['-I' OpenCV 'include'];//include
    LPath = ['-L' OpenCV 'x64/vc14/lib'];//lib
    
    • 1
    • 2
    • 3
    • 4

    (2)lib文件添加
    参考作者说明:
    在这里插入图片描述
    因此我新建了一个lib指向opencv_world331.lib

    lib = ['-lopencv_world' version '.lib'];
    lib1 = ['-lopencv_core' version '.lib'];
    lib2 = ['-lopencv_features2d' version '.lib'];
    lib3 = ['-lopencv_imgcodecs' version '.lib'];
    lib4 = ['-lopencv_imgproc' version '.lib'];
    
    
    mex -setup
    mex ('MexGMS.cpp', '-IH:/GMS-Feature-Matcher-master/GMS-Feature-Matcher-master/include/', IPath, LPath, lib); //添加的include路径为包含gms_matcher.h的绝对路径;也只用指向新建的lib就好了
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    运行结果

    在这里插入图片描述

  • 相关阅读:
    C#的显式接口和隐式接口
    Working with XML in a Classic COM Application
    规格单位换算
    C#压缩解压缩(文件夹里包含文件夹)
    在线编辑器原理
    右键新建文本文档没有了。
    MemoryStream读写
    gacutil.exe ,RegAsm.exe 和全局缓存(GAC)
    OData services入门使用ASP.NET Web API描述
    Readonly和Disabled
  • 原文地址:https://www.cnblogs.com/shuimuqingyang/p/14293091.html
Copyright © 2011-2022 走看看