Raspbian Python OpenCV

Установка Python 3.4 и OpenCV 3.0 на Raspbian

Решил освоить raspberry, при этом не использовать компилируемые языки, выбор невольно остановился на Python 3. Поскольку изначально планировалось задействовать OpenCV, то на текущий момент это возможно только с OpenCV 3.0 beta которая рекомендует использовать с ней Python 3.4. Ни того ни другого в репозитории нет и пришлось собирать из исходников, по пути осваивая данный процесс. Идущим по моим следам посвящается:

Установка Python 3.4

Устанавливаем пакеты необходимые для Python:

sudo apt-get install zlib1g-dev  libbz2-dev libncurses5-dev libreadline6-dev libsqlite3-dev libssl-dev libgdbm-dev liblzma-dev tk-dev

Качаем и распаковываем исходники:

wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz
tar -zxvf ./Python-3.4.2.tgz
cd ./Python-3.4.2/

Более свежие исходники можно взять с оф.сайта

Готовим к компиляции

./configure --prefix=/usr/local

Компилируем

make

Ближе к концу компиляции может появится сообщение о том что каких-то пакетов не хватает: "the necessary bits to build these modules were not found:" их можно до установить если они вам нужны, после чего повторить процедуру.

Cобираем пакет

sudo make install

По правильному надо собирать при помощи checkinstall, но не получилось как ни старался. setup_tools и pip ставятся автоматически

Создаем удобные симлинки в системе:

rm /usr/bin/python3
ln -s /usr/local/bin/python3 /usr/bin/
ln -s /usr/local/bin/pip3 /usr/bin/

OpenCV необходим питоновский модуль numpy - ставим

pip3 install numpy

Устанавливаем необходимые OpenCV пакеты (поставил все что просил)

sudo apt-get install cmake git build-essential pkg-config libpng12-0 libpng12-dev libpng++-dev libpng3 libpnglite-dev \
zlib1g-dbg zlib1g zlib1g-dev pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools libeigen3-dev libjpeg8 \
libjpeg8-dev libjpeg8-dbg libjpeg-progs ffmpeg libavcodec-dev libavcodec53 libavformat53 libavformat-dev \
libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libxine1-ffmpeg libxine-dev libxine1-bin \
libunicap2 libunicap2-dev swig libv4l-0 libv4l-dev python-numpy libpython2.7 python-dev python2.7-dev libgtk2.0-dev
Скачиваем исходникиwget https://github.com/Itseez/opencv/archive/3.0.0-beta.zip
unzip 3.0.0-beta.zip
cd opencv-3.0.0-beta

Собираем (поскольку на raspbian несколько питонов, необходимо указать какой из них где)sudo cmake   \
	-D CMAKE_BUILD_TYPE=RELEASE \
	-D CMAKE_INSTALL_PREFIX=/usr/local/ \
        -D PYTHON2_EXECUTABLE=/usr/bin/python2 \
        -D PYTHON2_INCLUDE_PATH=/usr/include/python2.7/ \
	-D PYTHON2_LIBRARIES=/usr/lib/python2.7  \
	-D PYTHON2_PACKAGES_PATH=/usr/local/lib/python2.7/site-packages/ \
	-D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/local/lib/python2.7/dist-packages/numpy/core/include \
        -D PYTHON3_EXECUTABLE=/usr/local/bin/python3 \
	-D PYTHON3_INCLUDE_PATH=/usr/local/include/python3.4m/ \
	-D PYTHON3_LIBRARIES=/usr/local/lib/python3.4/ \
	-D PYTHON3_PACKAGES_PATH=/usr/local/lib/python3.4/site-packages/ \
	-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.4/dist-packages/numpy/core/include/ .
sudo make
sudo make install

Cборка на raspberry занимает порядка 10-12 часов. checkinstall как и в случае с питоном работать отказался.

Чтобы Raspberry Camera стала стандартным V4L устройством /dev/video0, нужно выполнить: sudo modprobe bcm2835-v4l2

Тэги:

 

Автор:

Комментариев: 0

Ваш комментарий

Авторизуйтесь для отправки комментария

© Сообщество пользователей RaspberryPi 2021