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()