问题
在配置OpenCV+contrib环境的时候遇到了一个问题,配好之后想要测试一下有没有成功,但是在SURF算法的那一行始终报错。如下图:
显示"xfeatures2d"不是类或命名空间名称,想到的是可能编译器不认识它。
解决
由于SURF算法版权问题不免费,所以被包含在了contrib包里,检查了一下在编译opencv+contrib源码的时候有没有勾选nonfree,是有的,但是不知道这个怎么用,后来发现需要include一个文件叫nonfree.hpp才可以。VS的自动检查是认识SURF的,但是编译不通过,必须要include。
#include <opencv2/opencv.hpp>
#include <opencv2/xfeatures2d.hpp>
#include <opencv2/xfeatures2d/nonfree.hpp>
遂解决报错。