https://opencv.org/releases/page/3/原版壓縮包,分zip和windows的exe。
https://github.com/opencv/opencv/releases/tag/3.4.3 也是一個下載途徑
https://github.com/opencv/opencv_contrib/releases/tag/3.4.3 contrib,也分版本的,要對應吧
(contrib的一個總目錄https://github.com/opencv/opencv_contrib/releases)
linux的安裝方法(參考的是別人的3.2.2的過程)
1. sudo apt-get install build-essential
2. sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
3. sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
cmake(下過了,連接不找了,何況他這是linux的cmake)
build建在源文件路徑下
有專門的參數指定額外的庫
CMAKE_INSTALL_PREFIX安裝路徑
OPENCV_EXTRA_MODULES_PATH模塊路徑
在終端執行以下兩步:
第一步:
cd opencv-3.2.0/build
第二步:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv320 -D OPENCV_EXTRA_MODULES_PATH=/home/jason/opencv_contrib-3.2.0/modules/ ..
如果不安裝opencv_contrib模塊,則第二步的命令爲:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv320
cmake過程中可能遇到的問題:
如果網絡不好,出現ippicv_linux_20151201.tgz無法在終端下載的情況,則可以先單獨下載ippicv_linux_20151201.tgz之後,把其移動到終端所提示的路徑(終端會提示該路徑找不到文件),如路徑/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/
移動的時候,可以另外打開一個終端操作:
sudo mv ippicv_linux_20151201.tgz /opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e
如果同樣有其他類似的文件無法下載,方法同上。
在終端執行以下兩步:
第1步:
sudo make
第2步:
sudo make install
linux下這樣算安裝完成
windows版本的cmake過程
1.用cmake-gui,選中opencv的根目錄,選中build目錄。
2.點configure,3.4.3+vs2015+default(失敗,別人有個3.0.0-vs2013的,opencv本身是vs不相關的吧??或者說默認的編譯選項太多了?但是我不知道怎麼選啊)
核心問題是編不過去,是找到別人的參考,還是自己根據錯誤把配置選項全刪了?
關掉WITH_CUDA,居然成功了,看來就是CUDA問題。generate也成功了
這個表裏不止有選項打鉤,還有變量,在其中找到Name爲OPENCVEXTRAMODULESPATH的參數,然後把它的Value設置爲opencvcontrib的路徑
要精細到modules路徑
3.generate生成,生成
最後,會得到一個OpenCV.sln?
用VS
打開D:/VS2015/opencv-3.4.0/build/目錄下的OpenCV.sln
編譯debug版本庫:在“解決方案'OpenCV'(3.0.0有141個項目?3.4.3我只有30個項目?)”上面點擊右鍵-->重新生成解決方案
實測報錯
http://tieba.baidu.com/p/5682396502
我的3.4.2怎麼報4.0的錯誤?
錯了,第二次是139個項目,之前可能是路徑設定再source下的build,可能和其他配置有衝突,互相改寫了?現改名mybuild,好像也不是,選項裏那些build,都是根據輸出路徑自動生成的,修改之後一樣的錯誤
再勾上nonfree,確實是141個項目
項目設置是否對?debug,win32?
3.找到CMakeTargets中的INSTALL,然後右鍵選擇“僅限於項目”-->“僅生成INSTALL”,然後就在D:\opencv3\opencv\mybuild\install中發現了許多東東。
什麼時候設置?生成之後?
然後是自己項目的引用(這裏的vc12限於VS2013,VS2015應該是vc14)
-
VC++目錄-->包含目錄,添加:
D:\opencv3\opencv\mybuild\install\include -
VC++目錄-->庫目錄,添加:
D:\opencv3\opencv\mybuild\install\x86\vc12\lib
D:\opencv3\opencv\mybuild\install\x86\vc12\staticlib -
鏈接器-->輸入-->附加依賴項,添加opencv_xxxxxd.lib(這個見仁見智,不同版本名稱不同,總之就是openc庫目錄的所有)
額外的:
surf什麼的屬於收費模塊,應該勾選如下選項?這是否與前邊的錯誤有關?(按理說這是編譯之後使用纔可能出現的錯誤,目前卡在了編譯)但是勾選之後這一步都過不去了,不勾選,好歹是能出sln,頂多是sln編譯不過,