2017-09-01 161 views
1

我已經下載了Tinker板的20170817-tinker-board-linaro-stretch-alip-v2.0.1.img。我正在嘗試安裝OpenCV 3.0.0。我遵循這裏給出的指示:http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/在Tinker板上安裝OpenCV

我無法安裝libjasper-dev。因此,我沒有安裝libpng12-dev,而是安裝了libpng。

我想從昨天早上開始在Tinker Board上編譯OpenCV。但在建設過程中得到了以下錯誤:

/usr/include/c++/6/cmath:106:11: error: ::acos has not been declared

其次是所有的數學公式觸發類似的錯誤。

哪個Debian版本對OpenCV穩定?我應該安裝較低版本的OpenCV嗎?有人可以幫忙嗎?

回答

1

我成功設法在TinkerBoard上安裝OpenCV。下面是步驟:

  1. 格式一個16 GB的記憶卡爲FAT32
  2. 下載Debian圖像20170817-tinker-board-linaro-stretch-alip-v2.0.1.img爲鼓搗板從here

  3. 複製IMG文件到存儲卡

sudo dd if=/path/to/your/imgfile of=/path/to/your/memorycard bs=4M

了很多關於這幫助已經可以在SO。

  1. 通電之前,確保您通過lan電纜將您的tinker板連接到互聯網。

  2. 一旦開機,將系統時間重置爲sudo dpkg-reconfigure tzdata。修補程序板的Debian映像已經安裝了ntp。等待幾分鐘讓修補板調整網絡上的板時間。

  3. 要安裝opencv及其相關庫,我已經採取了指示here ....雖然我不得不做一些自定義庫安裝,但它是非常有幫助的。請注意,我在Tinker Board上使用Opencv的目的是處理實時視頻,因此我的重點更多地放在安裝適當的視頻編解碼器上。

下面是步驟:

sudo apt-get -y update 
sudo apt-get -y upgrade 
sudo apt-get -y dist-upgrade 
sudo apt-get -y autoremove 

您可以安裝Perl應用程序時遇到以下警告消息:

perl: warning: Setting locale failed. 

perl: warning: Please check that your locale settings: 
    LANGUAGE = (unset), 
    LC_ALL = (unset), 
    LANG = "en_US.utf8" 
    are supported and installed on your system. 
perl: warning: Falling back to the standard locale ("C"). 

雖然這不會影響您的OpenCV的安裝,花了3天的時間試圖在修補程序板上編譯Opencv後,我不想留下任何機會。

使用以下方法來抑制這些警告消息:

export LANGUAGE=en_US.UTF-8 
export LANG=en_US.UTF-8 
export LC_ALL=en_US.UTF-8 
dpkg-reconfigure locales 

由於這個post

# INSTALL THE DEPENDENCIES 

# Build tools: 
sudo apt-get install -y build-essential cmake 

# GUI (if you want to use GTK instead of Qt, replace 'qt5-default' with 'libgtkglext1-dev' and remove '-DWITH_QT=ON' option in CMake): I just went with qt5 itself. 

sudo apt-get install -y qt5-default libvtk6-dev 

# Media I/O: 
sudo apt-get install -y zlib1g-dev libjpeg-dev libwebp-dev libpng-dev libtiff5-dev libopenexr-dev libgdal-dev 

請注libjasper-dev的是此版本的Debian不可用,因此我從上面的媒體I/O列表中刪除。

# Video I/O: 
sudo apt-get install -y libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev yasm libopencore-amrnb-dev libopencore-amrwb-dev libv4l-dev libxine2-dev 

sudo apt-get install -y gstreamer1.0-plugins-* 
sudo apt-get install libxine-dev 

# Parallelism and linear algebra libraries: 
sudo apt-get install -y libtbb-dev libeigen3-dev 

# Python: 
sudo apt-get install -y python-dev python-tk python-numpy python3-dev python3-tk python3-numpy 

sudo apt-get install python-pip 

# Java: 
sudo apt-get install -y ant default-jdk 

# Documentation: 
sudo apt-get install -y doxygen 

Get OpenCV。我決定使用3.0.0版本,因爲我的開發版本是在這個版本中。你可以選擇不同的版本。

sudo apt-get install -y unzip wget 
wget https://github.com/opencv/opencv/archive/3.0.0.zip 
unzip 3.0.0.zip 
rm 3.0.0.zip 

構建OpenCV。

mv opencv-3.0.0 OpenCV 
cd OpenCV 
mkdir build 
cd build 

cmake -DWITH_QT=ON -DWITH_OPENGL=ON -DFORCE_VTK=ON -DWITH_TBB=ON -DWITH_GDAL=ON -DWITH_FFMPEG=0 -DWITH_XINE=ON -DBUILD_EXAMPLES=ON -DENABLE_PRECOMPILED_HEADERS=OFF .. 

從原來的劇本在這裏的變化 - 是增加了-DWITH_FFMPEG=0,因爲FFMPEG庫失蹤,我是不是在這樣一種心態,安裝相同。你可能想這樣做。

make 

雖然TinkerBoard支持make -j4我選擇去緩慢與make。用make進行編譯花費了將近2.5小時,在C++代碼中出現了許多看起來縮進的錯誤,但最終編譯結束。

sudo make install 
sudo ldconfig 

$ python 
>>> import cv2 
>>> cv2.__version__ 
'3.0.0' 
1

經過幾天終於我得到了很好的設置。我的文章改進了以前的答案。

步驟與以前類似,但我更改了一些字符串,因爲我有不同的錯誤。

在我來說,我的新的華碩廷克局我裝:

  1. 20170928,修補匠板,Linaro的 - 拉伸 - ALIP-V2.0.3
  2. 的OpenCV-3.3.0與opencv_contrib-3.3.0 。

修補程序板的第一次啓動。

sudo apt-get -y update 
sudo apt-get -y upgrade 
sudo apt-get -y dist-upgrade 

它需要刪除默認的(舊)的OpenCV:

sudo apt-get remove libopencv* 
sudo apt-get -y autoremove 

# INSTALL THE DEPENDENCIES 

# Build tools: 
sudo apt-get install -y build-essential cmake 

# GUI (I had errors with Qt, so I did next) 
sudo apt-get install -y libgtkglext1-dev libvtk6-dev 

# Media I/O: 
sudo apt-get install -y zlib1g-dev libjpeg-dev libwebp-dev libpng-dev libtiff5-dev libopenexr-dev libgdal-dev 

# Video I/O: 
sudo apt-get install -y libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev yasm libopencore-amrnb-dev libopencore-amrwb-dev libv4l-dev libxine2-dev libxine-dev 

sudo apt-get install -y gstreamer1.0-plugins-* 

# Parallelism and linear algebra libraries: 
sudo apt-get install -y libtbb-dev libeigen3-dev 

# Python: 
sudo apt-get install -y python-dev python-tk python-numpy python3-dev python3-tk python3-numpy 

sudo apt-get install python-pip 

# Java: 
sudo apt-get install -y ant default-jdk 

# Documentation: 
sudo apt-get install -y doxygen 

獲取的OpenCV。

cd ~ 
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.3.0.zip 
unzip opencv.zip 
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.3.0.zip 
unzip opencv_contrib.zip 

編譯並安裝OpenCV

cd ~/opencv-3.3.0/ 
mkdir build 
cd build 
cmake -DWITH_OPENGL=ON -DFORCE_VTK=ON -DWITH_TBB=ON -DWITH_GDAL=ON -DWITH_FFMPEG=0 -DWITH_XINE=ON -DBUILD_EXAMPLES=ON -DOPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules -DENABLE_PRECOMPILED_HEADERS=OFF .. 

的CMake應該開始建立自己的配置,後一兩分鐘,你應該看到:

-- Configuring done 
-- Generating done  
-- Build files have been written to: ./opencv-3.3.0/build 

如果你不能看到生成DONE那麼發生了一些問題。閱讀錯誤消息和錯誤日誌文件進行調查。

我沒有例子,但你可以試試。 Qt我刪除了。

make 

沒有-j4更好。

sudo make install 
sudo ldconfig 

測試安裝

[email protected]:~$ python3 
Python 3.5.3 (default, Jan 19 2017, 14:11:04) 
[GCC 6.3.0 20170118] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import cv2 
>>> cv2.__version__ 
'3.3.0'