3. OpenCV - 0711PHIN/Studienarbeit GitHub Wiki

Unabhängig davon, ob man die Installation auf einem Jetson TX1 oder TX2 durchführen möchte, ist es ratsam diese von einem externen Speicher aus durchzuführen. Die Installation benötigt mindestens 3GB freien Speicher auf dem Board.

Speicher für den Build reservieren

sudo fallocate -l 1G /swapfile

Hinweis: Falls später die Datei cv2.cpython-35m-x86_64-linux-gnu.so nicht gefunden wird, muss mehr Speicher reserviert werden.

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

Systemupdate

sudo apt-get update

sudo apt-get upgrade

Installation der Vorrausetzungen für den Build

sudo apt-get install build-essential cmake unzip pkg-config

sudo apt-get install libjpeg-dev libpng-dev libtiff-dev

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

sudo apt-get install libxvidcore-dev libx264-dev

sudo apt-get install libgtk-3-dev

sudo apt-get install libatlas-base-dev gfortran

sudo apt-get install python3-dev

Anbindung des externen Speichers

fdisk -l

sudo mount /dev/sdc1 /mnt

Download der OpenCV Sourcesfiles

cd /mnt

wget -O opencv.zip https://github.com/opencv/opencv/archive/4.0.0.zip

wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.0.0.zip

unzip opencv.zip

unzip opencv_contrib.zip

mv opencv-4.0.0 opencv

mv opencv_contrib-4.0.0 opencv_contrib

Download der virtuellen Pythonumgebung

Um zu verhindern, dass es zu Kompatibilitätskonflikten zwischen verschiedenen Python-Versionen kommt, empfiehlt es sich, eine virtuelle Python-Umgebung zu verwenden. Hier können Python-Umgebungen isoliert voneinander erzeugt werden.

cd ~

wget https://bootstrap.pypa.io/get-pip.py

sudo python3 get-pip.py

sudo pip install virtualenv virtualenvwrapper

sudo rm -rf ~/get-pip.py ~/.cache/pip

Bashrc bearbeiten

vi ~/.bashrc

# virtualenv and virtualenvwrapper

export WORKON_HOME=$HOME/.virtualenvs

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

source /usr/local/bin/virtualenvwrapper.sh

source ~/.bashrc

Virtuelle Umgebung erstellen und Numpy installieren

Virtuelle Umgebung cv erstellen. (Name kann beliebig gewählt werden)

mkvirtualenv cv -p python3

workon cv

pip install numpy

OpenCV Build

cd /mnt/opencv

mkdir build

cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D INSTALL_C_EXAMPLES=OFF \ -D OPENCV_ENABLE_NONFREE=ON \ -D OPENCV_EXTRA_MODULES_PATH=/mnt/opencv_contrib/modules \ -D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \ -D ENABLE_FAST_MATH=1 \ -D ENABLE_NEON=ON -D WITH_LIBV4L=ON \ -D WITH_V4L=ON \ -D BUILD_EXAMPLES=ON ..

make

OpenCV Installation

sudo make install

sudo ldconfig

Verknüpfung mit der virtuellen Umgebung

workon cv

python --version

ls /usr/local/python/cv2/python-3.5

Das Ergebnis sollte so aussehen: cv2.cpython-35m-x86_64-linux-gnu.so

cd /usr/local/python/cv2/python-3.5

sudo mv cv2.cpython-35m-x86_64-linux-gnu.so cv2.so

cd ~/.virtualenvs/cv/lib/python3.5/site-packages/

ln -s /usr/local/python/cv2/python-3.5/cv2.so cv2.so

Validierung

workon cv

python

>>> import cv2

>>> cv2.__version__

Das Ergebnis sollte so aussehen: 4.0.0

>>> quit()