GMS程序调试指南

代码获得处: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-master\GMS-Feature-Matcher-master\include\gms_matcher.h”(或者将该文件放在工程下面)
(4)图片读入,可能为空,所以也把图片修改为绝对路径或者搬移到项目下

运行结果

在这里插入图片描述

2 matlab version

存在一个编译问题。

错误展示
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)compile.m文件内

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

(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就好了

在这里插入图片描述

运行结果

在这里插入图片描述

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值