天天看點

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

文章目錄

  • 0. 前言
  • 1. 下載下傳位址
  • 2. 使用CMake生成OpenCV源碼
  • 3. 編譯OpenCV.sln
  • 4. 将新的extra modules配置到項目中

0. 前言

之前把opencv更新到3.4.5,最近打算使用SURF和SIFT,發現找不到對應的子產品。

在新版本裡面,這幾個特征點檢測的方法放在 xfeatures2d 子產品中,但是官網上下載下傳的OpenCV标準包裡面是不包含這個子產品的。從官方的文檔查詢可以看到,這個子產品已經被放到 Extra modules 中了。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

這就需要額外編譯 opencv_contrib 。

·····

·····

·····

如果不想看後面,可以直接下載下傳我編譯好的install之後的結果:

百度雲:https://pan.baidu.com/s/1fbRU7jOidtMyflMsQChTdg 提取碼:fxtp

CSDN資源:https://download.csdn.net/download/qinchang1/11705108

·

下載下傳這個之後,可以直接跳到本文第四節!

·····

·····

·····

1. 下載下傳位址

opencv_contrib下載下傳位址: https://github.com/opencv/opencv_contrib/tags

PS: opencv_contrib的版本要和opencv版本一緻!

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

cmake-gui 下載下傳位址: http://www.cmake.org/cmake/resources/software.html

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

2. 使用CMake生成OpenCV源碼

opencv_contrib 解壓之後檔案如下,記住這個路徑。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

打開CMake

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

輸入opencv檔案夾下的sources檔案路徑,給個輸出位址,然後再點選“Configure”

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

選擇VS版本,還有X64!!!

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

第一次Configure之後會有很多紅色的,表示有錯誤,再點一次Configure。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

再點一次之後就變成白色的了。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

生成之後,在中間清單中找到“OPENCV_EXTRA_MODULES_PATH”,把之前opencv_contrib解壓檔案夾下的modules路徑加入進去。

并且勾選“OPENCV_ENABLE_NONFREE”!這個一定要勾選,不然的話等會你用代碼的時候就會報錯。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

之後點選 Configure,又是點2次,第一次會有紅色,第二次就變白了。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

如果不報錯的話,再點一次Generate。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

第二次生成完成。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

如果出現缺少什麼XXX的話,需要自己額外去下,然後放進對應modules裡面。

3. 編譯OpenCV.sln

點選"Open Project"。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

或者進入剛才生成的檔案夾下,點開OpenCV.sln。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

之後重新生成解決方案。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

我的結果如下:

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

如下圖順序點選僅生成 INSTALL。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

成功之後如下顯示。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

之後會生成一個install檔案夾,裡面的内容就相當于包含了extra modules的opencv。

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

編譯好opencv_contrib install檔案下載下傳:

百度雲:https://pan.baidu.com/s/1fbRU7jOidtMyflMsQChTdg 提取碼:fxtp

CSDN資源:https://download.csdn.net/download/qinchang1/11705108

4. 将新的extra modules配置到項目中

在環境變量中添加剛才生成的install檔案中的bin檔案路徑

D:\opencv_contrib\install\bin

(改成自己的\opencv_contrib路徑)

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

在使用者變量中添加:

D:\opencv_contrib\install\x64\vc14\bin

(改成自己的\opencv_contrib路徑)

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

包含目錄輸入:

D:\opencv_contrib\install\include

D:\opencv_contrib\install\include\opencv

D:\opencv_contrib\install\include\opencv2

(改成自己的\opencv_contrib路徑)

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

庫目錄填入:

D:\opencv_contrib\install\x64\vc14\lib

(改成自己的\opencv_contrib路徑)

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

添加動态連結庫:

【OpenCV】OpenCV擴充opencv_contrib x64(Extra modules)0. 前言1. 下載下傳位址2. 使用CMake生成OpenCV源碼3. 編譯OpenCV.sln4. 将新的extra modules配置到項目中

Debug屬性中添加:

opencv_aruco345d.lib

opencv_bgsegm345d.lib

opencv_bioinspired345d.lib

opencv_calib3d345d.lib

opencv_ccalib345d.lib

opencv_core345d.lib

opencv_datasets345d.lib

opencv_dnn_objdetect345d.lib

opencv_dnn345d.lib

opencv_dpm345d.lib

opencv_face345d.lib

opencv_features2d345d.lib

opencv_flann345d.lib

opencv_fuzzy345d.lib

opencv_hfs345d.lib

opencv_highgui345d.lib

opencv_img_hash345d.lib

opencv_imgcodecs345d.lib

opencv_imgproc345d.lib

opencv_line_descriptor345d.lib

opencv_ml345d.lib

opencv_objdetect345d.lib

opencv_optflow345d.lib

opencv_phase_unwrapping345d.lib

opencv_photo345d.lib

opencv_plot345d.lib

opencv_reg345d.lib

opencv_rgbd345d.lib

opencv_saliency345d.lib

opencv_shape345d.lib

opencv_stereo345d.lib

opencv_stitching345d.lib

opencv_structured_light345d.lib

opencv_superres345d.lib

opencv_surface_matching345d.lib

opencv_text345d.lib

opencv_tracking345d.lib

opencv_video345d.lib

opencv_videoio345d.lib

opencv_videostab345d.lib

opencv_xfeatures2d345d.lib

opencv_ximgproc345d.lib

opencv_xobjdetect345d.lib

opencv_xphoto345d.lib

·

·

·

Release屬性中添加:

opencv_aruco345.lib

opencv_bgsegm345.lib

opencv_bioinspired345.lib

opencv_calib3d345.lib

opencv_ccalib345.lib

opencv_core345.lib

opencv_datasets345.lib

opencv_dnn_objdetect345.lib

opencv_dnn345.lib

opencv_dpm345.lib

opencv_face345.lib

opencv_features2d345.lib

opencv_flann345.lib

opencv_fuzzy345.lib

opencv_hfs345.lib

opencv_highgui345.lib

opencv_img_hash345.lib

opencv_imgcodecs345.lib

opencv_imgproc345.lib

opencv_line_descriptor345.lib

opencv_ml345.lib

opencv_objdetect345.lib

opencv_optflow345.lib

opencv_phase_unwrapping345.lib

opencv_photo345.lib

opencv_plot345.lib

opencv_reg345.lib

opencv_rgbd345.lib

opencv_saliency345.lib

opencv_shape345.lib

opencv_stereo345.lib

opencv_stitching345.lib

opencv_structured_light345.lib

opencv_superres345.lib

opencv_surface_matching345.lib

opencv_text345.lib

opencv_tracking345.lib

opencv_video345.lib

opencv_videoio345.lib

opencv_videostab345.lib

opencv_xfeatures2d345.lib

opencv_ximgproc345.lib

opencv_xobjdetect345.lib

opencv_xphoto345.lib

如有錯誤,歡迎指正!