1.方便管理,我把兩個包放在同一個文件夾裏(這個隨意),下載對應的opencv版本和opencv_contrib版本,opencv 2.4沒有對應的contrib版本就沒有下。
opencv: https://github.com/opencv/opencv/releases
contrib :https://github.com/opencv/opencv_contrib/releases
2. 安裝opencv3.4.5
先去github上下載對應的opencv版本和opencv_contrib版本,我下載的是opencv3.4.5,所以contrib也要下載3.4.5版本。將contrib文件夾拖到opencv中,創建build文件夾。如圖
(1)安裝依賴
sudo apt-get installbuild-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
(2)安裝cmake-gui
sudo apt-get install cmake-gui
(3)配置編譯環境,打開終端,輸入:
cmake-gui
剛開始的時候,Name Value可能是空的,設置好源碼的路徑和編譯的路徑。如圖點擊configure選擇Unix Makefiles,其餘默認,點擊finish。
修改以下幾處地方:
a. 在CMAKE_BUILD_TYPE 值處輸入RELEASE
b.
這裏是eigen的包含路徑,默認的路徑下一級沒有unsupport文件夾,安裝時會報錯,後來發現/usr/include/eigen3纔有。如果你默認路徑下有個unsupport文件夾,則不用改。
c.
編譯安裝路徑前綴,便於版本管理,設爲 /usr/local/opencv3,同理,安裝opencv2.4.13版本的時候可以設爲 /usr/local/opencv2
d.
這是設置contrib的路徑,路徑可以瀏覽,要設置到modules文件夾。2.4版本沒有contrib文件,可以不用設置。
差不多了,點擊Configure,完成後再點擊Generate,完成後關閉gui界面
(4)安裝,在終端輸入依次輸入。
make -j4
sudo make install
3.安裝opencv 2.4.13 ,參考步驟2。
4. 切換版本的時候,
打開終端,輸入
gedit ~/.bashrc
在文末添加
#export PKG_CONFIG_PATH="/usr/local/opencv2/lib/pkgconfig:$PKG_CONFIG_PATH"
#export LD_LIBRARY_PATH="/usr/local/opencv2/lib:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="/usr/local/opencv3/lib/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="/usr/local/opencv3/lib:$LD_LIBRARY_PATH"
保存,關閉。
終端輸入
source ~/.bashrc
更新一下環境。
查閱opencv版本:
pkg-config opencv --modversion
顯示版本號是3.4.5
使用2.4版本的時候,同樣終端輸入 gedit ~/.bashrc 就將前兩行的#號去掉,註釋後兩行即可。記得要 source 一下~