給ROCK64安裝OpenCV3

窗外蟋蟀發表於2018-12-23

前言

之前在做專案時接觸了這塊板,選它的主要原因是因為它有一個USB3.0的介面(樹莓派只有2.0),並且有和樹莓派差不多的效能,不過這塊板還是有很多缺點,例如剛出不久,資料很少,特別是國內的資料幾乎沒有,而且系統也不是很完善,所以在裝OpenCV3時遇到了很多坎,裝了我四五天才裝好,之後呢,也在CSDN做了個教程,現在有一個自己的部落格了,就把它遷移過來。

說明

ROCK64配置什麼的就不多說了,系統採用的是官方的Debian系統,安裝過程參考了Satya Mallick的教程,連結為:www.learnopencv.com/install-ope…

安裝步驟

第一步:更新包

sudo apt-get update
sudo apt-get upgrade
複製程式碼

這一步執行後會缺少很多依賴項,很多沒更新,沒安裝,不過不急,先執行下面一步。

第2步:安裝OS庫

注意下面幾部好幾個可能都會不成功,一定要注意,不能跳過

安裝失敗的就到這個連結下載:www.debian.org/distrib/pac…(右上角搜尋),一般下載穩定版,即stretch(stable)版,當然沒有就下載其他的,硬體架構一定要arm64,別選成amd了,下載後命令列執行到儲存的目錄,安裝deb包(sudo dpkg -i xxx.deb)。

# 刪除以前安裝的x264
sudo apt-get remove x264 libx264-dev
# 然後開始安裝依賴項
sudo apt-get install build-essential checkinstall cmake pkg-config yasm
sudo apt-get install git gfortran
sudo apt-get install libjpeg8-dev libjasper-dev libpng12-dev
 
# 如果你的系統是 Ubuntu 14.04
sudo apt-get install libtiff4-dev
# 如果你的系統是 Ubuntu 16.04
sudo apt-get install libtiff5-dev
 
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
sudo apt-get install libxine2-dev libv4l-dev
sudo apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo apt-get install qt5-default libgtk2.0-dev libtbb-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev
sudo apt-get install libvorbis-dev libxvidcore-dev
sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev
sudo apt-get install x264 v4l-utils
 
# 可選的依賴項(最好安裝,免得後面缺少)
sudo apt-get install libprotobuf-dev protobuf-compiler
sudo apt-get install libgoogle-glog-dev libgflags-dev
sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen
複製程式碼

安裝完後在重新執行一次更新包命令,看還缺少什麼

sudo apt-get update
sudo apt-get upgrade
複製程式碼

缺的就去上面的那個連結找,進行手動安裝。不過有兩個會搜不到,linux-rock64linux-rock64-package,這個應該是官方韌體庫的升級包的,博主安裝這兩個之後發現螢幕無法顯示(具體不知道什麼原因,有知道的可以說下),但能開機(即能遠端操控),博主需要使用螢幕,這兩個沒裝,這個看個人需要,如果你不用螢幕就裝,連結為github.com/ayufan-rock…

也可直接執行下面兩步進行自動安裝

sudo apt-get update -y
sudo apt-get install linux-rock64 -y
複製程式碼

第3步:安裝Python庫

# 可選安裝,如果只要python3就去掉python-pip
sudo apt-get install python-dev python-pip python3-dev python3-pip
sudo -H pip2 install -U pip numpy
sudo -H pip3 install -U pip numpy
複製程式碼
# 安裝虛擬環境,將專案環境和全域性環境分開,這通常是一種很好的做法。
sudo pip2 install virtualenv virtualenvwrapper
sudo pip3 install virtualenv virtualenvwrapper
echo "# Virtual Environment Wrapper"  >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc
複製程式碼
# 可選,可兩個都裝,一定要虛擬環境
############ Python 2 ############
# 建立虛擬環境
mkvirtualenv facecourse-py2 -p python2
workon facecourse-py2
# 在虛擬環境中安裝python庫
pip install numpy scipy matplotlib scikit-image scikit-learn ipython
# 退出虛擬環境
deactivate
######################################

############ Python 3 ############
# 建立虛擬環境
mkvirtualenv facecourse-py3 -p python3
workon facecourse-py3 
# 在虛擬環境中安裝python庫
pip install numpy scipy matplotlib scikit-image scikit-learn ipython
# 退出虛擬環境
deactivate
######################################
複製程式碼

第4步:下載OpenCV和OpenCV_contrib

這兩部可能會出錯(國內可能被牆),多試幾次,也可以直接瀏覽器下載,不過要注意版本號

步驟4.1:從Github下載opencv

git clone https://github.com/opencv/opencv.git
cd opencv 
git checkout 3.3.1 	# 注意這個要和下面的版本一致
cd ..
複製程式碼

步驟4.2:從Github下載opencv_contrib

git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 3.3.1
cd ..
複製程式碼

第五步:使用contrib模組編譯並安裝OpenCV

步驟5.1:建立構建目錄

cd opencv
mkdir build
cd build
複製程式碼

步驟5.2:執行CMake

# 注意第十行的目錄要對
cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D INSTALL_C_EXAMPLES=ON \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D WITH_TBB=ON \
      -D WITH_V4L=ON \
      -D WITH_QT=ON \
      -D WITH_OPENGL=ON \
      -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
      -D BUILD_EXAMPLES=ON ..
複製程式碼

步驟5.3:編譯並安裝

# 確定機器中的CPU核心數量,輸出幾代表幾個核心
nproc
# 用nproc的輸出替換下面的4
make -j4
sudo make install
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
複製程式碼

如果編譯成功顯示

給ROCK64安裝OpenCV3

一定要成功才能執行下一步,不成功就得找問題,看會不會漏了哪一步,按照上面步驟一般不會失敗

步驟5.4:在虛擬環境中建立符號連結

根據您的Python版本,路徑會有所不同。OpenCV的Python二進位制檔案(cv2.so)可能安裝在目錄site-packages或dist-packages中。可以使用以下命令查詢其在計算機上的正確位置。

find /usr/local/lib/ -type f -name "cv2*.so"
複製程式碼

這裡的路徑要注意下,上面輸出什麼路徑下面就是什麼路徑

############ Python 2 ############
cd ~/.virtualenvs/facecourse-py2/lib/python2.7/site-packages
ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
############ Python 3 ############
cd ~/.virtualenvs/facecourse-py3/lib/python3.6/site-packages
ln -s /usr/local/lib/python3.6/site-packages/cv2.so cv2.so
複製程式碼

不報錯,就安裝完成

第六步:測試OpenCV3

步驟6.1:測試Python程式碼

進入Python虛擬環境,當然最好先進入root環境

su root
############ Python 2 ############
workon facecourse-py2
# 或
############ Python 3 ############
workon facecourse-py3
複製程式碼
# 開啟python(在終端上執行此命令)
python
# 匯入cv2包(在python中執行以下命令)
import cv2
print cv2.__version__
# 如果OpenCV3安裝正確,
# 上面的命令應該輸出3.3.1
# 按CTRL + D退出ipython
複製程式碼

如果沒有輸出上面的結果,就只能按下面的執行,當然會麻煩點:

su root
# 進入到步驟5.4的目錄,以後執行程式碼也在這個目錄
cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
# 執行
python
import cv2
print cv2.__version__
複製程式碼

博主有一個現成的映象,網盤連結:

連結:pan.baidu.com/s/1Kc57rozs… 提取碼:wbaw

轉載請宣告:

文章作者:窗外蟋蟀

原始連結:juejin.im/editor/post…

相關文章