Opencv344在VS2015環境的重編譯,擴展模塊

   最近學習Opencv,然後需要擴展模塊,就需要重新編譯Opencv344,個人的習慣,不喜歡最新的版本,就用了Opencv344這個版本吧。

    重新編譯Opencv344分爲幾個步驟。

     1、首先下載對應的軟件

     2、將下好的軟件重新編譯

     3、配置環境

OK,開始下載軟件了

     First   首先下載 Opencv344 官方地址:https://opencv.org/opencv-4-0-0.html      

      順便將源碼一起下載下來,Sources

      去github上下載opencv344的擴展模塊 地址:https://github.com/opencv/opencv_contrib/releases 

       下載 CMake-gui   https://cmake.org/download/         下載 .msi  的版本

        參考 cmake-gui 自帶的編譯方法
    

ok, 該下的東西都下完了。路徑不要有中文路徑,不要亂丟

Second,  重新編譯

     1、CMake-gui 安裝 打開CMake,  選擇source code:  和 build the binaries 的目錄(一般在源opencv下新建一個rebuild)  然後點擊 Configuration , 選擇自己電腦對應的VS的版本然後,  一共點擊兩次(第一次編譯之後全是紅的,再來一次)  ,等待之後找到 opencv下的 extra modules (search extra 就有了) 然後將opencv_contrib 下的 modules 路徑包含進去(不要複製路徑,點擊後的找到路徑,想知道爲什麼就去直接去百度  /  \  的區別),但是會出現另外一個問題可能低版本的opencv沒有,這是我實際項目中出現的,以前都是310沒有在意(This algorithm is patented and is excluded in this configuration; 專利已經被註冊),繼續search OPENCV_ENABLE_NONFREE,打鉤,然後點擊 generate

     2、在rebuild目錄下(生成好的)下找到 opencv.sln  用VS2015打開 然後點擊 CMakeTargets  ALL_BUILD 右擊生成   最後成功 138 個
    當然了,現在還沒有結束,因爲找不到install 這個文件夾   so  ALL_BUILD下面繼續有一個 INSTALL ,右擊生成,然後就可以配置環境了

   開始重新配置環境:我是配置了310 後重新編譯 344 版本的  兩者沒關係    310 的不要看  都是一樣的  可能截圖還有 310的東西,自動忽略

 找到視圖  屬性管理器 

    VC++目錄  包含目錄

                      庫目錄

    鏈接器

   讀出鏈接器中所有的文件,我是在 Intellijea 下的 Java寫我的    /**
     * @param: dir  rebulid 目錄下的 install/x64/vc14/lib 的目錄
     * @Function: 讀取文件從指定餓的目錄下面
     * @Return:
     */
    private static void ReadFileFromDir(String dir) {
        int i = 0;
        File file = new File(dir);
        if (file.isDirectory()) {
            System.out.println("是目錄可以讀取");
            File[] files = file.listFiles();
            for (File f : files) {
                if (f.getName().endsWith(".lib")) {
                    i++;
                    System.out.println(f.getName());
                }
            }
        } else
            System.out.println("Error");
        System.out.println("一共 " + i + " 個");
    }   讀出所有的 .lib 文件

  最後環境變量:  找到rebuild  install  x64 vc14  bin  添加到環境變量中去

@attention: CMake和 添加 opencv的環境變量後  電腦都需要重啓 ,不然和沒有添加報一樣的錯誤

 

看看自己有沒有成功:  新建 win32 控制檯項目 空項目 添加 include<> 對的文件 ,建立命名空間

int main(int argc,char** argv){
 Mat src =imread("test.jpg");
 if(src.empty()){
    std::cout<<"Error!!!";
  }
 namedShow("src");
 imshow("src",src):
 
 waitKey(0);
 return 0:
}

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章