必須放到sources下面編譯才能真正編譯
surf和sift等contrib部分的module的編譯的問題
如果是完全從GitHub上面下載下來的源碼編譯离唐,在opencv代碼的CMakelist.txt文件中躲胳,將surf和sift等具有專利的module關(guān)閉了,需要重新打開鳖藕,將202行的 OPENCV_ENABLE_NONFREE 設(shè)置為ON。并且在CMake的選項中將 OPENCV_ENABLE_NONFREE勾上,如下圖:
如果不打開,可以生產(chǎn)工程且能夠編譯通過搏讶,在運行到surf和sift的時候會出現(xiàn)cv::Exception的錯誤,如下圖:
上述所有問題都解決了之后呢霍殴,你也只能使用Release版本媒惕!
WTF opencv