本文目錄一覽:
opencv的安裝問題
.cmake.org/cmake/resources/software.html” target=”_blank”” target=”_blank” 下載 Windows (Win32 Installer) 安裝。
用CMake導出VC++項目文件
運行cmake-gui,設置路徑為OpenCV安裝路徑(本文檔假定安裝位置為:D:\Program Files\OpenCV2.0),並創建子目錄D:\Program Files\OpenCV2.0\vc2008,用於存放編譯結果。
然後點 configure,在彈出的對話框內選擇 Visual Studio 9 2008。
如果是VC++2008的Express版本,則不支持OpenMP,所以需要取消ENABLE_OPENMP選項。VC++ 2008(不是Express版本)支持OpenMP,如果你使用VC++2008,強烈建議不要取消這個選項。
編譯 OpenCV Debug和Release版本庫
完成上一步驟後,將在D:\Program Files\OpenCV2.0\vc2008目錄下生成OpenCV.sln的VC Solution File,請用VC++ 2008 打開OpenCV.sln,然後執行如下操作:
在Debug下,選擇Solution Explorer里的 Solution OpenCV,點右鍵,運行”Rebuild Solution”;如編譯無錯誤,再選擇INSTALL項目,運行”Build”。
在Release下,選擇Solution Explorer里的 Solution OpenCV,點右鍵,運行”Rebuild Solution”;如編譯無錯誤,再選擇INSTALL項目,運行”Build”。
此時,OpenCV的*d.dll文件(for debug)和*.dll文件(for release)將出現在D:\Program Files\OpenCV2.0\vc2008\bin目錄中;OpenCV的*d.lib文件(for debug)和*.lib文件(for release)將出現在D:\Program Files\OpenCV2.0\vc2008\lib目錄;頭文件*.h出現在D:\Program Files\OpenCV2.0\vc2008\include\opencv中。
可以被VC++ 2008 調用的OpenCV動態庫生成完畢。
配置Windows環境變數Path
將D:\Program Files\OpenCV2.0\vc2008\bin加入Windows系統環境變數Path中。加入後可能需要註銷當前Windows用戶(或重啟)後重新登陸才生效
為VC++ 2008 配置OpenCV環境
打開VC++ 2008 ,菜單 Tools – Options – Projects and Solutions – VC++ Directories
Show directories for選擇include files,加入目錄 D:\Program Files\OpenCV2.0\vc2008\include\opencv
Show directories for選擇library files,加入目錄 D:\Program Files\OpenCV2.0\vc2008\lib
關閉VC++ 2008
opencv編譯步驟
如果需要指定ffmpeg,Linux下可通過pkg-config指定PKG_CONFIG_PATH到ffmpeg的lib/pkgconfig路徑下。需要注意,.pc中的路徑為install時的絕對路徑,使用時應注意與實際安裝路徑保持一致。
OpenCV靜態庫編譯與鏈接
以OpenCV-4.0.0為例說明在Ubuntu環境下的靜態庫編譯與鏈接方法:
opencv依賴第三方的庫,所以當把opencv編譯成靜態庫的時候,注意要把它運行時必要的依賴庫也編譯進來,opencv源碼內有自己的3rdparty,主要有:libjpeg、libpng、libtiff、libzlib、libwebp、libprotobuf、ffmpeg(用到video時編譯)、libgtk(用於顯示界面顯示,伺服器部署不會用到),可以通過cmake -LA來查看配置的編譯信息,再根據信息考慮把opencv的哪些module編譯進來。
鏈接時指定opencv的靜態庫以及依賴的庫。另外需要注意頭文件的問題,通過CMakeLists把opencv加入項目編譯時,由於opencv編譯完成後要install才會把所用的頭文件集中拷貝到一個地方,所以事先將頭文件拷貝到了項目的opencv目錄下。
如何編譯opencv中的install工程
第一步:由於opencv是在cmake工具下建立的工程,所以我們先要下載cmake,下載地址隨便一搜都有,不多說。下載到home的主目錄下,這裡我們是/home/lg。看下面的命令:#cd /home/lg#tar xzvf CMake2.4.7.tar.gz .#cd CMake2.4.7#./boostrap#gmake#make install這樣cmake工具安裝好了,並且可以直接使用cmake命令根據cmake的編譯規律,我們選擇外部編譯。
2
下載Opencv2.3.0到/home/lg解壓後進入Opencv2.3.0的目錄下(這裡的opencv與以前版本1.0的不一樣,沒有configure文件,所以我們執行不了 ./configure命令) :#mkdir build#cd build#cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON.. (這條命令解析可以參考cmake教程, 但是記住這裡的第二個選項,我們將opencv安裝在/usr/local目錄下的)#make#make install到這opencv編譯完成,接下去看看opencv這個工具能正常使用。
3
記住這裡的做法前一種對fedora有用, 也就是說在fedora的環境下只能使用這種做法, 但是ubuntu卻可以使用兩種方法。 順便說一下, 經常遇見apt-get命令,這是在ubuntu下使用獲取軟體包的命令, fedora使用的是yum, 記住了, 否則經常出現使用apt-get卻獲取不了軟體包的情況。方法1:在/etc/ld.so.conf.d下新建一個文件opencv.conf,裡面輸入/usr/local/lib方法2:在/etc/ld.so.conf文件中加入/usr/local/lib這一行然後執行#ldconfig(root許可權下)#cp /usr/local/lib/pkconfig/opencv.pc /usr/lib/pkgconfig(或者是輸入這個命令 exportPKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH)( pkconfig的用法見以前的博文)至此opencv安裝完成我們可以找個例子來做實驗#cd /home/lg/Opencv2.3.0#cd samples/cpp#g++ `pkconfig –cflags –libs opencv` drawing.cpp -odrawing(記住前面的兩個引號是通過ESC下面的那個波浪符鍵獲得的)現在我們編譯那個人臉檢測程序,在Opencv2.3.0/data/目錄下有檢測鼻子、眼睛的XML文件,這可以通過改build目錄下的c目錄下的facedetect文件獲得。#cd ..#cd c#g++ `pkconfig –cflags –libs opencv` facedetect.c -ofacedetect到此結束
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/308734.html