未定义SURF的原因主要是因为在cmake步骤并没有对opencv_contrib-3.4.1 编译。
之前使用的cmake命令是:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..
所以导致,找不到SURF或者SIFT这类nonfree。
解决方案:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/wdong/developmentPackage/opencv-3.4.1/opencv_contrib-3.4.1/modules/ ..
编译OpenCV真是一个大坑,都不知道装了多少遍了。