1. 程式人生 > >關於 Windows 下 編譯 opencv 擴充套件模組 opencv_contrib 的一些建議

關於 Windows 下 編譯 opencv 擴充套件模組 opencv_contrib 的一些建議

       最近在學習opencv,其中用到了人臉識別模組,那這個就要用到opencv中的face人臉識別的那部分功能,當在VS 2017中新增 #include <opencv2/face.hpp> 時發現不對啊(我的是opencv3.3.0),下面有紅色波浪線,其原因是opencv3.3.0本身並不帶這個模組,為什麼不帶這個模組,看到有些人說是這部分功能更新比較快,因此放在了另外的地方供我們下載,這個地方就是github。在opencv官網網頁的下邊可以直接點選github進入(連結是https://github.com/opencv),這些模組一般在opencv_contirb得modules中。那怎麼把這些模組載入進operncv中加以利用呢?這時就需要自己利用cmake結合原有的opencv3.3.0中的source檔案,進行重新的編譯生成一個全新的帶有face人臉識別功能的庫。

       由於之前從來沒有接觸過cmake,並不清楚怎麼用,所以上網蒐集了幾個利用cmake對opencv進行擴充套件模組編譯的教程,但是按照這些教程基本上都出現了問題,主要是這些教程有些細節沒有講,最後自己結合多個教程,琢磨一下,發現原來是版本的問題(後面才發現,原來opencv_contrib也有不同的版本,笨啊)。本文主要是告訴大家編譯過程中應該注意的一些地方,在寫之前先貼幾個網址,這些網址就是主要的安裝編譯教程,大家可以參考,也是我之前編譯過程中參考過的:

1. http://www.cnblogs.com/jliangqiu2016/p/5597501.html

   在該篇文章中,並沒有說opencv_contirb一定要與自己已有的opencv版本保持一致,結果因為這個版本的問題我搞了差不多一天。

2. https://github.com/opencv/opencv_contrib  這個就是 opencv_contirb 在github上的網址,其實該模組中的README.md也給出了利用cmake安裝的步驟,但是也沒有提到版本問題(可能是我太菜,不知道這些東西都一定要保證相同的版本)。

3. https://www.learnopencv.com/install-opencv3-on-windows/

  這個是我最後找到的安裝教程,對比發現,這個教程講的很詳細,這個教程裡面講到了版本的問題,基本上按照這個都不會出現什麼問題了。

4. https://cmake.org/download/ 這是Cmake 軟體下載的官網,官網的下載速度讓我崩潰,CSDN上到是有好多可以下載這個工具的,但都需要金幣。我花錢下載了一個,如果有需要的,可以發我郵箱([email protected]),免費發給你們。

 

     下面寫一下在編譯過程中應該注意的兩個地方:

1. 利用cmake第一次進行configure時雖然下面顯示是configure Done,但是上面還是會有一堆紅色,因此這裡我們要再點選一次configure,變成白色後才可以。

2. 就是版本問題,自己的opencv版本一定要和opencv_contirb的版本一致,具體可以參考上面第3個網址中的教程。