您好,登錄后才能下訂單哦!
這篇文章主要介紹了python中CMake如何安裝配置OPENCV 4.1.1,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
CMake 安裝配置 OPENCV 4.1.1 解決各種問題
方法一
python 可以直接pip install opencv-contrib-python==3.4.x.x 安裝,老版本的庫包含SIFT等算法。但是,python不支持GPU的,對于JAVA等其他語言想調用opencv或者想使用更更高級的算法,那么還是必須得安裝更高版本,下面介紹另外一種方法.
這個方法不提供SIFT和 SURF算法,因為這兩個算法申請了專利,所有主要通過CMake設置OPENCV_ENABLE_NONFREE 選項才能使用這兩個功能(有專利,所以不要商用)。
方法二 Building OpenCV from source
目前opencv 已經更新到4.1.1版本了,編譯好或者可執行文件是不帶有SIFT專利算法,這些算法已經從opencv基本庫剝離出去,單獨成一個source文件,需要通過CMAKE工具加載到環境中。
環境準備:
Visual Studio 2015最后一個升級版本,或者2017甚至更高。安裝的時候必須勾選C編譯器,不然會找不到
CMake配置過程中需要下載一些配置文件,速度極其慢,時常短線。如果下載不下來可以找我,后期我會分享到百度網盤上,免費提供。
1.下載: Visual Studio 2015(去MSDN下載2015最后一個升級版本,社區版就行,低級版本會存在編譯失敗)和 CMake 兩個軟件
2.下載 python 和 Numpy庫,也可以下載Anaconda 免去庫安裝編譯麻煩(我用的Anaconda)。(OpenCV 的所有數組結構都轉化為了Numpy 數組格式, Numpy還是挺優秀的)
3.安裝CMake, 解壓 opencv source
4.CMake 設置
source code 只想你解壓的OpenCV 代碼根路徑
在路徑下創建一個build文件夾,用于存放構建的二進制文件
然后會彈出一個窗口,讓你配置VS版本,并選擇系統win32還是x64(默認win32,需要根據電腦系統進行修改,我改成x64)
點擊configure 然后opencv就開始構建了
先不要退出,繼續看下面
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳
5.然后中間區域就是構建的信息(簡單看一下,我選擇默認配置)
WITH區域 可以選擇你需要的額外功能,是不是支持GUDA等
BUILD區域,可以配置構建方法
OpenCV-python 不支持GPU,所以可以取消相關操作
6.由于最新的OpenCV版本只包含穩定的算法和不收費的算法,像SIFT和SURF這些有專利的算法,需要另行安裝
在剛才的CMake界面找到OPENCV_EXTRA_MODULES_PATH 修改如下圖所示:
再次點擊Configure, 可以看到xfeatures2d這些功能正在加載,偶爾會存在download失敗,只能省略兩個字(網上也有一些其他手動方法,鑒于后邊失敗的較多,建議還是,)
手動下載(其他找起來太費勁了) ippicv_2019_win_intel64_20180723_general.zip
安裝,參見博客opencv 解決ippicv下載問題,離線:ippicv_2019_lnx_intel64_general_20180723.tgz
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-WZRJQVin-1569740558974)
或者找我要
7.點擊Generate
8.到D:/WORK/OpenCVconf/opencv-4.1.1/build目錄下,打開OpenCV.sln文件,官方文檔建議releaseALL BUILD生成, 然后生成一下INSTALL生成
安裝opencv-contrib
這里面包含SIFT等收費算法,需要在CMake設置以下內容:
CMake軟件設置OPENCV_EXTRA_MODULES_PATH指向opencv-contrib 的modules文件夾70)
OPENCV_ENABLE_NONFREE 勾選,然后點擊configure,generate,然后再重新生成,就OK了。
若再有失敗,就BUILD選區取消勾選相關項目
總結
主要問題在于Visual studio版本太過低級
CMake下載一些配置文件失敗,必須能夠
Fwall不要額外勾選安裝不需要的配置
感謝你能夠認真閱讀完這篇文章,希望小編分享的“python中CMake如何安裝配置OPENCV 4.1.1”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。