2017-09-01 164 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'