centos6.5下安裝OpenCV+Python支持

Python調用opencv的原理是:opencv編譯出共享庫文件,python把這個共享庫文件作爲一個模塊加載並使用。通俗點就是,編譯opencv的時候開啓python接口選項,編譯好了會產生cv2.so(linux下)或者cv2.pyd(windows下)這個共享庫文件,python代碼中import這個cv2就可以用了。爲了能正確import它,往往需要把cv2.so放在python找包能找到的路徑下,或者修改PYTHONPATH環境變量讓它包含cv2.so所在路徑。此外,python的opencv接口中,圖像使用numpy數組表示的,所以往往還需要安裝numpy、scipy、matplotlib這幾個包。

step:

初始化開發環境:

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers gd gd2 gd-devel gd2-devel perl-CPAN pcre-devel sqlite-devel blas-devel lapack-devel

一、

安裝python2.7

tar -xf Python-2.7.9.tar.xz
cd Python-2.7.9
./configure --prefix=/usr/local/  -enable-shared CFLAGS=-fPIC
make
/usr/bin/install -c -m 644 ./Tools/gdb/libpython.py python-gdb.py
make altinstall

報錯處理:python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory

  1. 可以使用如下方式編譯Python以解決這個問題:
        ./configure --enable-shared --prefix=/usr/local/python27
        make && make install
      2. cp /usr/local/python27/lib/libpython2.7.so.1.0 /usr/local/lib
         cd /usr/local/lib
         ln -s libpython2.7.so.1.0 libpython2.7.so
      3. 使用命令whereis libpython2.7.so.1.0得到如下結果就說明
        libpython2.7.so.1: /usr/local/lib/libpython2.7.so.1.0
      4. 如果whereis沒有結果,或者還有import錯誤,可以嘗試如下操作:(可用)
        在/etc/ld.so.conf中加入新行/usr/local/lib
        保存後,運行
        /sbin/ldconfig
        /sbin/ldconfig -v

因爲後期還需要使用pip安裝模塊所以要安裝pip:具體參考:http://crfsz.blog.51cto.com/7835882/1889350

二、NumPy 一個用於大型矩陣處理的庫,這個需要安裝不然沒辦法去編譯opencv。

unzip numpy-1.11.1.zip
cd numpy-1.11.1/
python setup.py install

三、cmake 編譯OpenCV時使用,也需要手動安裝。

wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
tar -zxvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap
gmake
gmake install
cmake -version

四、安裝openvc

cd opencv-3.0.0-beta/
// 創建build
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=release -D CMAKE_INSTALL_PREFIX=/usr/local ..
注意了:這一步開始編譯opencv,這裏會出現要下載ippicv_linux_20151201.tgz這麼個東西,這裏是個坑啊,因此上面步驟應該會出現錯誤,因此到網上下載這個文件,將其複製到自己的目錄
opencv-3.0.0-beta/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b/中,覆蓋掉原來的tgz文件。
然後重新編譯cmake ,這是應該不會出錯了。如果沒提示錯誤:
make
make install
則完成安裝

ps:安裝過程時間可能會有點長10~30分鐘左右,編譯完成之後OpenCV就安裝到了指定的/usr/local下面的一些目錄中,庫文件就安裝到了/usr/local/lib下,Python的模塊安裝位置是:/usr/local/lib/python2.7/site-packages,執行 ls /usr/local/lib/python2.7/site-packages/ 可以看到兩個文件,一個是cv2.so一個是cv.py

測試py腳本:

#!/usr/bin/python# -*- coding:utf-8 -*-import cv2
image = cv2.imread("test.jpg")print image
cv2.imwrite("test1.jpg",image)


wKioL1klPADAf6IHAAAT5Jlzoug358.png-wh_50

六、安裝opencv爬的坑:

ImportError: No module named skimage.feature

pip install scikit-image


未完待續……






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章