python 下 CMake 安裝配置 OPENCV 4.1.1的方法
CMake 安裝配置 OPENCV 4.1.1 解決各種問(wèn)題
方法一
python 可以直接pip install opencv-contrib-python==3.4.x.x 安裝,老版本的庫(kù)包含SIFT等算法。但是,python不支持GPU的,對(duì)于JAVA等其他語(yǔ)言想調(diào)用opencv或者想使用更更高級(jí)的算法,那么還是必須得安裝更高版本,下面介紹另外一種方法.
這個(gè)方法不提供SIFT和 SURF算法,因?yàn)檫@兩個(gè)算法申請(qǐng)了專(zhuān)利,所有主要通過(guò)CMake設(shè)置OPENCV_ENABLE_NONFREE 選項(xiàng)才能使用這兩個(gè)功能(有專(zhuān)利,所以不要商用)。
方法二 Building OpenCV from source
目前opencv 已經(jīng)更新到4.1.1版本了,編譯好或者可執(zhí)行文件是不帶有SIFT專(zhuān)利算法,這些算法已經(jīng)從opencv基本庫(kù)剝離出去,單獨(dú)成一個(gè)source文件,需要通過(guò)CMAKE工具加載到環(huán)境中。
環(huán)境準(zhǔn)備:
- Visual Studio 2015最后一個(gè)升級(jí)版本,或者2017甚至更高。安裝的時(shí)候必須勾選C編譯器,不然會(huì)找不到
- CMake配置過(guò)程中需要下載一些配置文件,速度極其慢,時(shí)常短線(xiàn)。如果下載不下來(lái)可以找我,后期我會(huì)分享到百度網(wǎng)盤(pán)上,免費(fèi)提供。
1.下載: Visual Studio 2015(去MSDN下載2015最后一個(gè)升級(jí)版本,社區(qū)版就行,低級(jí)版本會(huì)存在編譯失敗)和 CMake 兩個(gè)軟件
2.下載 python 和 Numpy庫(kù),也可以下載Anaconda 免去庫(kù)安裝編譯麻煩(我用的Anaconda)。(OpenCV 的所有數(shù)組結(jié)構(gòu)都轉(zhuǎn)化為了Numpy 數(shù)組格式, Numpy還是挺優(yōu)秀的)
3.安裝CMake, 解壓 opencv source
4.CMake 設(shè)置
source code 只想你解壓的OpenCV 代碼根路徑
- 在路徑下創(chuàng)建一個(gè)build文件夾,用于存放構(gòu)建的二進(jìn)制文件
- 然后會(huì)彈出一個(gè)窗口,讓你配置VS版本,并選擇系統(tǒng)win32還是x64(默認(rèn)win32,需要根據(jù)電腦系統(tǒng)進(jìn)行修改,我改成x64)
- 點(diǎn)擊configure 然后opencv就開(kāi)始構(gòu)建了
- 先不要退出,繼續(xù)看下面
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳

5.然后中間區(qū)域就是構(gòu)建的信息(簡(jiǎn)單看一下,我選擇默認(rèn)配置)
- WITH區(qū)域 可以選擇你需要的額外功能,是不是支持GUDA等
- BUILD區(qū)域,可以配置構(gòu)建方法
- OpenCV-python 不支持GPU,所以可以取消相關(guān)操作
6.由于最新的OpenCV版本只包含穩(wěn)定的算法和不收費(fèi)的算法,像SIFT和SURF這些有專(zhuān)利的算法,需要另行安裝
- 在剛才的CMake界面找到OPENCV_EXTRA_MODULES_PATH 修改如下圖所示:
- 再次點(diǎn)擊Configure, 可以看到xfeatures2d這些功能正在加載,偶爾會(huì)存在download失敗,只能省略?xún)蓚€(gè)字(網(wǎng)上也有一些其他手動(dòng)方法,鑒于后邊失敗的較多,建議還是,)
- 手動(dòng)下載(其他找起來(lái)太費(fèi)勁了) ippicv_2019_win_intel64_20180723_general.zip
- 安裝,參見(jiàn)博客opencv 解決ippicv下載問(wèn)題,離線(xiàn):ippicv_2019_lnx_intel64_general_20180723.tgz
- [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-WZRJQVin-1569740558974)

或者找我要
7.點(diǎn)擊Generate
8.到D:/WORK/OpenCVconf/opencv-4.1.1/build目錄下,打開(kāi)OpenCV.sln文件,官方文檔建議releaseALL BUILD生成, 然后生成一下INSTALL生成

安裝opencv-contrib
這里面包含SIFT等收費(fèi)算法,需要在CMake設(shè)置以下內(nèi)容:
CMake軟件設(shè)置OPENCV_EXTRA_MODULES_PATH指向opencv-contrib 的modules文件夾70)
OPENCV_ENABLE_NONFREE 勾選,然后點(diǎn)擊configure,generate,然后再重新生成,就OK了。
若再有失敗,就BUILD選區(qū)取消勾選相關(guān)項(xiàng)目
總結(jié)
- 主要問(wèn)題在于Visual studio版本太過(guò)低級(jí)
- CMake下載一些配置文件失敗,必須能夠
- Fwall不要額外勾選安裝不需要的配置
以上所述是小編給大家介紹的python 下 CMake 安裝配置 OPENCV 4.1.1的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- opencv-python 開(kāi)發(fā)環(huán)境的安裝、配置教程詳解
- VS2019+python3.7+opencv4.1+tensorflow1.13配置詳解
- python3 使用Opencv打開(kāi)USB攝像頭,配置1080P分辨率的操作
- Anaconda下配置python+opencv+contribx的實(shí)例講解
- Ubuntu16.04/樹(shù)莓派Python3+opencv配置教程(分享)
- Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
- 淺談配置OpenCV3 + Python3的簡(jiǎn)易方法(macOS)
- 從安裝到應(yīng)用全面掌握Python與OpenCV的配置與高級(jí)功能(最新推薦)
相關(guān)文章
Python通過(guò)socketserver處理多個(gè)鏈接
這篇文章主要介紹了Python通過(guò)socketserver處理多個(gè)鏈接,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
Python使用Kubernetes API訪(fǎng)問(wèn)集群
本文主要介紹了Python使用Kubernetes API訪(fǎng)問(wèn)集群,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
python實(shí)現(xiàn)猜數(shù)字小游戲
這篇文章主要,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下介紹了Python實(shí)現(xiàn)猜數(shù)字小游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Python pandas入門(mén)系列之眾數(shù)和分位數(shù)
分位數(shù)(Quantile),也稱(chēng)分位點(diǎn),是指將一個(gè)隨機(jī)變量的概率分布范圍分為幾個(gè)等份的數(shù)值點(diǎn),分析其數(shù)據(jù)變量的趨勢(shì),而眾數(shù)(Mode)是代表數(shù)據(jù)的一般水平,這篇文章主要給大家介紹了Python pandas系列之眾數(shù)和分位數(shù)的相關(guān)資料,需要的朋友可以參考下2021-08-08
Python實(shí)現(xiàn)的簡(jiǎn)單線(xiàn)性回歸算法實(shí)例分析
這篇文章主要介紹了Python實(shí)現(xiàn)的簡(jiǎn)單線(xiàn)性回歸算法,結(jié)合實(shí)例形式分析了線(xiàn)性回歸算法相關(guān)原理、功能、用法與操作注意事項(xiàng),需要的朋友可以參考下2018-12-12
Python基于模塊Paramiko實(shí)現(xiàn)SSHv2協(xié)議
這篇文章主要介紹了Python基于模塊Paramiko實(shí)現(xiàn)SSHv2協(xié)議,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04

