sift、surf等等已经被移到opencv_contrib模块,所以按照低版本的程序,会出现错误:
“未声明的标识符:SiftFeatureDetector ”
“未声明的标识符:BruteForceMatcher”
如果需要在高版本opencv中使用到opencv_contrib模块,则需要自己进行编译,步骤请参考《windows 10 + vs2015+ opencv3.0.0 +附加模块opencv_contrib编译和配置 》。该文主要记录,通过CMake编译opencv3.0并集成opencv_contrib附加模块时的问题和解决方案。
1.问题:
用CMake编译时(configure或者generate)是出现:
no cmake_c_compiler could be found.
no cmake_cxx_compiler could be found.
解决:选择编译器时,版本不正确。最后四位数字才代表vs的版本,比如图中的2015,代表的是visual studio 2015。
2.问题:
unknown cmake command “ocv_define_module”
还有类似于”ocv_glob_modules”“ocv_downloads”之类的
解决:可能是opencv版本和opencv_contrib版本不一致,换成一致的就行(本人遇到这个问题的时候,是这样解决的)
3.问题:
在ICV: Downloading ippicv_windows_20141027.zip…时报错
CMake Error at 3rdparty/ippicv/downloader.cmake:97 (message):
Call Stack (most recent call first):
3rdparty/ippicv/downloader.cmake:108 (_icv_downloader)cmake/OpenCVFindIPP.cmake:212 (include)cmake/OpenCVFindLibsPerf.cmake:12 (include)
CMakeLists.txt:454 (include)
解决:
手动下载ippicv_windows_20141027.zip,保存在opencv/sources/3rdparty/ippicv/downloads/windows-b59f865d1ba16e8c84124e19d78eec57