在装有Ubuntu16.04的VMware虚拟机下安装OpenCV3.2.0
引言
最近因為學習需要,要在VMware虛擬機下安裝OpenCV,在網上查了一下OpenCV3.3.0目前已經出來了,但是考慮到穩定性問題,決定先裝一個3.2.0版本的。需要注意的是,pip可以安裝的opencv-python安裝并不依賴opencv,只是封裝了opencv的Python API,一般情況下也夠用。但是如果準備安裝完整版本的opencv,這里比較建議將opencv-python卸載,以免之后產生一些不必要的報錯
安裝步驟
1.安裝所需要的一些依賴包
$ sudo apt-get install build-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 # 處理圖像所需的包
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
$ sudo apt-get install libxvidcore-dev libx264-dev # 處理視頻所需的包
$ sudo apt-get install libatlas-base-dev gfortran # 優化opencv功能
$ sudo apt-get install ffmpeg
2.下載OpenCV3.2.0
這里需要下載opencv和opencv_contrib(后者會在cmake配置的時候用到),這是因為opencv3以后SIFT和SURF之類的屬性被移到了contrib中
下載方式一
去OpenCV的github下載,下載鏈接
下載方式二
通過wegt命令下載
$ wget https://github.com/opencv/opencv/archive/3.2.0.zip
$ wget https://github.com/opencv/opencv_contrib/archive/3.2.0.zip
3.解壓OpenCV
推薦解壓到home目錄下
可以用鼠標操作解壓,也可用命令解壓
$ sudo unzip opencv-3.2.0.zip
$ sudo tar -xzvf opencv_contrib-3.2.0.tar.gz
4.編譯安裝
$ cd opencv-3.2.0 # 進入opencv-3.2.0文件夾
$ mkdir build #創建build文件夾
$ cd build #進入build文件夾
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/home/sty/temp/proj_python2/py2 \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules \
-D PYTHON_EXCUTABLE=~/temp/proj_python2/py2/bin/python
-D WITH_TBB=ON \
-D WITH_GTK=ON \
-D BUILD_EXAMPLES=ON ..
注意1:
CMAKE_INSTALL_PREFIX安裝的python目錄前綴,其實就是指定了python模塊的安裝路徑:CMAKE_INSTALL_PREFIX/lib/python2.7/dist-packages,查看Python路徑的命令:
which python
我的路徑為 /home/sty/temp/proj_python2/py2/bin/python ,
所以CMAKE_INSTALL_PREFIX=/home/sty/temp/proj_python2/py2
注意2:
OPENCV_EXTRA_MODULES_PATH:指定opencv所需模塊的路徑,就是之前我們所說的contrib
PYTHON_EXCUTABLE:指定python路徑~/temp/proj_python2/py2/bin/python
ps:~在linux中就是home目錄,應該知道吧,哈哈
注意3:
1.如果命令報錯的話可以試著把-D后面的空格去掉在執行一次
2.在此過程中會出現下載 ippicv_linux_20151201.tgz 包失敗的情況
解決辦法:
先選擇linux版本下載下來,下載鏈接
然后用ippicv_linux_20151201.tgz 文件復制并替換 opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ 路徑下的同名文件;
3.會出現下載 protobuf-cpp-3.1.0.tar.gz 包失敗的情況
解決辦法:
選擇相對應的版本下載下來,下載鏈接
然后用protobuf-cpp-3.1.0.tar.gz 復制并替換 opencv_contrib-3.2.0/modules/dnn/.download/bd5e3eed635a8d32e2b99658633815ef/v3.1.0/ 路徑下的同名文件。
繼續寫命令
$ make -j4 #同時運行4個任務
$ sudo make install
$ sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
$ sudo ldconfig
完成安裝并測試
安裝完成以后,重啟下機器。編譯之后應該會在CMAKE_INSTALL_PREFIX/lib/python2.7/dist-packages/目錄下找到cv2.so,打開python console,檢測opencv版本
import cv2
print cv2.__version__
會顯示3.2.0
但是這時可能會出現問題,即在import cv2后,會出現
ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):File "<string>", line 1, in <module>
ImportError: numpy.core.multiarray failed to import
這時我們退出ctrl + z退出python console,然后執行:
pip install -U numpy
等安裝完成后,再執行
import cv2
print cv2.__version__
參考資料:
OpenCV官方安裝文檔
http://www.cnblogs.com/arkenstone/p/6490017.html
http://blog.csdn.net/youngpan1101/article/details/58027049
轉載請注明出處:
CSDN:樓上小宇__home:http://blog.csdn.net/sty945
簡書:樓上小宇:http://www.jianshu.com/u/1621b29625df
總結
以上是生活随笔為你收集整理的在装有Ubuntu16.04的VMware虚拟机下安装OpenCV3.2.0的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5 用python进行OpenCV实战之
- 下一篇: javascript的知识总结