Я скачал 20170817-tinker-board-linaro-stretch-alip-v2.0.1.img для Tinker Board. Я пытаюсь установить OpenCV 3.0.0. Я следовал приведенным здесь инструкциям: http://www.pyimagesearch.com/2015/06/22/install-opencv-3-0-and-python-2-7-on-ubuntu/.

Я не смог установить libjasper-dev. Следовательно, вместо libpng12-dev я установил libpng.

Я пытаюсь собрать OpenCV на Tinker Board со вчерашнего утра. Но были получены следующие ошибки во время процесса сборки:

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

Далее следуют все математические формулы, вызывающие подобные ошибки.

Какая версия Debian стабильна для OpenCV? Должен ли я установить более низкую версию OpenCV? Может кто-нибудь помочь?

1
Apricot 1 Сен 2017 в 16:32

4 ответа

Лучший ответ

Мне удалось установить OpenCV на TinkerBoard. Следующие шаги были:

  1. Отформатируйте карту памяти 16 ГБ в FAT32
  2. Загрузите изображение Debian 20170817-tinker-board-linaro-stretch-alip-v2.0.1.img для доски объявлений с здесь..

  3. Скопируйте файл img на карту памяти

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

Большая помощь по этому вопросу уже доступна в SO.

  1. Перед включением питания убедитесь, что вы подключаете свою плату к Интернету через кабель локальной сети.

  2. После включения сбросьте системное время с помощью sudo dpkg-reconfigure tzdata. В образе Debian для tinker board уже установлен ntp. Подождите пару минут, пока плата tinker отрегулирует время платы из сети.

  3. Чтобы установить opencv и его зависимую библиотеку, я взял инструкции, приведенные в здесь.... хотя я должен был сделать некоторые пользовательские установки библиотеки, но это было очень полезно. Обратите внимание, что моя цель использования Opencv на Tinker Board - это обработка живого видео, и поэтому я больше сосредоточился на установке соответствующих видеокодеков.

Следующие шаги были:

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 на плате Tinker, я не хочу ничего оставлять на волю случая.

Используйте следующие для подавления этих предупреждающих сообщений:

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

Благодаря этой публикации.

# 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, и, следовательно, я удалил его из списка Media 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

Получить 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'
2
Apricot 2 Сен 2017 в 18:23

Установка ffmpeg (предыдущие ответы пропущены) обновление sudo apt && sudo apt установка ffmpeg libav-tools x264 x265

Я также рекомендую установить дополнительные пакеты и включить neon и vfpv3 при компиляции файлов opncv. Это должно дать значительное улучшение производительности: https://www.pyimagesearch.com / 2017/10 / 09 / оптимизируя - OpenCV - на- малина - пи /

0
Dan Erez 5 Мар 2018 в 16:11

Я пришел к этому вопросу поздно. Я добавляю этот ответ для будущего обращения людей. Вот официальная документация Tinkerboard.

https://tinkerboarding.co.uk/wiki/index.php/CSI-camera

Я только что изменил версию на последнюю версию (3.4.1):

#!/bin/bash
#Install
sudo apt-get update
sudo apt-get upgrade
#Install a few developer tools
sudo apt-get install -y build-essential git cmake pkg-config
#Install image I/O packages which allow us to load image file formats such as JPEG, PNG, TIFF, etc.
sudo apt-get install -y libjpeg-dev libtiff5-dev libpng-dev
#Install video I/O packages
sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
#Install the GTK development library
sudo apt-get install -y libgtk2.0-dev
#Various operations inside of OpenCV (such as matrix operations) can be optimized using added dependencies
sudo apt-get install -y libatlas-base-dev gfortran
#Install the Python 2.7 and Python 3 header files 
sudo apt-get install -y python2.7-dev python3-dev python-opencv
wget https://github.com/opencv/opencv/archive/3.4.1.zip
unzip 3.4.1.zip
cd opencv-3.4.1
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D WITH_LIBV4L=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make install

На компиляцию ушло около 90 минут.

0
Amir 28 Июл 2018 в 02:16

Через несколько дней наконец я получил хорошую настройку. Мой пост улучшает предыдущий ответ.

Шаги похожи, как это было до меня, но я изменил несколько строк, потому что у меня были разные ошибки.

В моем случае для новой платы Asus Tinker я установил:

  1. 20170928 - ремесленник доска - Линаро -стретч - 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

Если вы не видите «Генерация завершена», возникли некоторые проблемы. Прочитайте сообщения об ошибках и файл журнала ошибок для расследования.

Я без примеров, но вы можете попробовать. Qt я удалил.

make

Лучше без -j4.

sudo make install
sudo ldconfig

Протестируйте установку

linaro@tinkerboard:~$ 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'
2
Ruslan Kotvytskyi 17 Дек 2017 в 13:33