OpenCV (Open Source Computer Vision Library) - это библиотека программного обеспечения для компьютерного зрения и машинного обучения с открытым исходным кодом. Библиотека имеет огромное количество оптимизированных алгоритмов, которые включают в себя полный набор как классических, так и самых современных алгоритмов компьютерного зрения и машинного обучения. Эти алгоритмы могут использоваться для обнаружения и распознавания лиц, идентификации объектов, классификации действий человека на видео, отслеживания движений камеры, отслеживания движущихся объектов. А так же для извлечения трехмерных моделей объектов, создания трехмерных облаков, объединения изображений для получения высокого разрешения. изображения всей сцены. Обеспечивает поиск похожих изображений из базы данных, удаления эффекта красных глаз с изображений, снятых с использованием вспышки, отслеживание движений глаз, распознавание пейзажей и установки маркеров для наложения их на дополненную реальность и т. д.
Подготовка
Воспользуемся методом, который предложил Adrian Rosebrock.
И так, для тех, у кого установлена предыдущая версия Raspbian необходимо обновить её до Raspbian Stretch.
Чтобы обновить Raspberry Pi 3 до Raspbian Stretch, нужно
Ссылка скрыта от гостей
и следовать
Ссылка скрыта от гостей
(или
Ссылка скрыта от гостей
который рекомендуется для начинающих). Первые инструкции занимают примерно 10 минут для загрузки через торрент-клиент и около 10 минут для прошивки SD-карты, после чего вы можете включить питание и перейти к следующему разделу.Примечание. Если вы модернизируете свой Raspberry Pi 3 с Raspbian Jessie до Raspbian Stretch, существует вероятность возникновения проблем. Поэтому
я рекомендую продолжить установку Raspbian Stretch. Обновление с Raspbian Jessie не рекомендуется.
Итак, наша ОС обновлена, далее нам понадобится одно из следующих условий:
1. Физический доступ к вашему Raspberry Pi 3, так чтобы вы могли открыть терминал и выполнять команды
2. Удаленный доступ через SSH или VNC.
Я буду выполнять большую часть этого урока через SSH, но если у вас есть доступ к терминалу, вы можете легко им воспользоваться.
Если вы видите свой Pi в сети, но не можете подключиться к нему по ssh, вам может потребоваться включить SSH. Это легко сделать через меню настроек рабочего стола Raspberry Pi - вам понадобится кабель HDMI, клавиатура и мышь, запустив sudo service ssh start из командной строки вашего Pi.
После того как вы изменили настройки и перезагрузили компьютер, вы можете протестировать SSH непосредственно на Pi с адресом localhost.
Откройте терминал и введите ssh pi @ 127.0.0.1, чтобы проверить, работает ли он.
Установка OpenCV 3 на Raspberry Pi 3 под управлением Raspbian Stretch
Если вы ранее устанавливали OpenCV на Raspberry Pi (или на любую другую платформу), вы должны знать, что этот процесс может занять довольно продолжительное время со многими зависимостями и предварительными установками.
Таким образом, наша цель - пошаговое руководство по процессу компиляции и установки.
Чтобы процесс установки прошел более гладко, я указал время для каждого шага, чтобы вы знали, когда нужно сделать перерыв, взять чашку кофе и проверить электронную почту, пока Pi компилирует OpenCV.
Итак, давайте продолжим и начнем установку OpenCV 3 на Raspberry Pi 3 под управлением Raspbian Stretch.
Шаг № 1: Расширяем файловую систему
Вы используете новую установку Raspbian Stretch?
Если это так, первое, что вы должны сделать, это расширить файловую систему, чтобы включить все доступное пространство на вашей карте micro-SD:
$ sudo raspi-config
Затем выберите пункт меню Advanced Options” (Дополнительные параметры):
Рисунок 1: Выберите пункт Advanced Options” ( Дополнительные параметры ) в меню « raspi-config ».
Затем выберите“Expand filesystem” (Расширить файловую систему) :
Рисунок 2: Расширение файловой системы на вашем Raspberry Pi 3.
После появления запроса вы должны выбрать первый вариант: “A1. Expand File System” (A1. Расширить файловую систему).
Нажмите Enter на клавиатуре, нажмите стрелку вниз до кнопки « <Finish> » , а затем перезагрузите Pi. Вам может быть предложено перезагрузить компьютер, но если этого не произошло, вы можете выполнить перезагрузку командой :
$ sudo reboot
После перезагрузки ваша файловая система должна была быть расширена, чтобы включить все доступное пространство на вашей карте micro-SD.
Вы можете убедиться, что диск был расширен, выполнив команду df - h :
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 30G 4.2G 24G 15% /
devtmpfs 434M 0 434M 0% /dev
tmpfs 438M 0 438M 0% /dev/shm
tmpfs 438M 12M 427M 3% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 438M 0 438M 0% /sys/fs/cgroup
/dev/mmcblk0p1 42M 21M 21M 51% /boot
tmpfs 88M 0 88M 0% /run/user/1000
Как видите, наша файловая система была расширена и теперь включает все 32 ГБ карты micro-SD.
Однако, нами было уже использовано 15% карты на 32 ГБ.
А если вы используете карту объемом 8 ГБ, возможно, вы займете около 50% доступного пространства.
Поэтому можно просто удалить движки LibreOffice и Wolfram, чтобы освободить место на вашем Pi:
$ sudo apt-get purge wolfram-engine
$ sudo apt-get purge libreoffice*
$ sudo apt-get clean
$ sudo apt-get autoremove
После удаления Wolfram Engine и LibreOffice мы получаем дополнительно почти 1 ГБ!
Шаг № 2: Установка зависимостей
Для компиляции OpenCV требуется примерно 4 часа.
Первым шагом является обновление всех существующих пакетов:
$ sudo apt-get update && sudo apt-get upgrade
Время: 2м 14с
Затем нам нужно установить некоторые инструменты разработчика, включая
Ссылка скрыта от гостей
, который поможет настроить процесс сборки OpenCV$ sudo apt-get install build-essential cmake pkg-config
Время: 19 с
Далее нам нужно установить несколько пакетов ввода / вывода изображения, которые позволяют нам загружать файлы различных форматов с диска.
Примеры таких форматов файлов включают JPEG, PNG, TIFF и т.д :
$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
Время: 21 с
Так же, нам понадобятся пакеты ввода / вывода видео.
Эти библиотеки позволяют читать различные форматы видеофайлов с диска, а также работать напрямую с видеопотоками:
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev
Время: 32 с
Библиотека OpenCV поставляется с субмодулем highgui, который используется для отображения изображений на нашем экране и создания основных графических интерфейсов.
Чтобы скомпилировать модуль highgui , нам нужно установить библиотеку разработки GTK:
$ sudo apt-get install libgtk2.0-dev libgtk-3-dev
Время: 1м 36с
Многие операции внутри OpenCV (а именно матричные операции) могут быть дополнительно оптимизированы путем установки нескольких дополнительных зависимостей:
$ sudo apt-get install libatlas-base-dev gfortran
Время: 23 с
Эти библиотеки оптимизации особенно важны для устройств с ограниченными ресурсами, таких как Raspberry Pi.
Наконец, давайте установим заголовочные файлы Python 2.7 и Python 3, чтобы мы могли скомпилировать OpenCV с привязкой Python
$ sudo apt-get install python2.7-dev python3-dev
Время: 45 с
Если вы работаете с новой установкой ОС, возможно, что эти версии Python уже находятся в самой последней версии (вы увидите сообщение терминала с указанием этого).
Если вы пропустите этот шаг, вы можете заметить ошибку, связанную с Python . Файл заголовка h не найден при запуске make для компиляции OpenCV.
Шаг № 3: Загрузка исходного кода OpenCV
Теперь, когда у нас установлены наши зависимости, давайте возьмем архив OpenCV 3.3.0 из официального репозитория OpenCV . Эта версия включает в себя модуль dnn ( по мере выхода будущих версий openCV вы можете заменить 3.3.0 на последний номер версии):
$ cd ~
$ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.3.0.zip
$ unzip opencv.zip
Время: 41с
Нам понадобится полная установка OpenCV 3 (например, для доступа к таким функциям, как SIFT и SURF), поэтому нам также необходимо получить репозиторий opencv_contrib :
$ wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.3.0.zip
$ unzip opencv_contrib.zip
Время: 37 с
Возможно, вам придется расширить указанную выше команду, используя кнопку «<=>» во время копирования и вставки. . zip в 3.3.0.zip может показаться обрезанным в некоторых браузерах. Полный URL-адрес архива OpenCV 3.3.0:
https://github.com/Itseez/opencv_contrib/archive/3.3.0.zip
Примечание. Убедитесь, что версии opencv и opencv_contrib совпадают (в данном случае 3.3.0 ).
Если номера версий не совпадают, вы, скорее всего, столкнетесь с ошибками во время компиляции или во время выполнения.
Шаг № 4: Python 2.7 или Python 3 ?
До того, как мы начнем компиляцию OpenCV на нашем Raspberry Pi 3, нам сначала нужно установить pip , менеджер пакетов Python:
$ wget
Ссылка скрыта от гостей
$ sudo python get-pip.py
$ sudo python3 get-pip.py
Время: 33 с
При вводе этих команд вы можете получить сообщение о том, что pip уже обновлен, но лучше не пропускать этот шаг.
Установка пакетов как
Ссылка скрыта от гостей
и
Ссылка скрыта от гостей
не является обязательным требованием, и вы можете обойтись и без них, но, я настоятельно рекомендую вам установить их, как и другие существующие PyImageSearch учебники, а также использовать Python виртуальных сред.Какой смысл использовать virtualenv и virtualenvwrapper ?
Во-первых, важно понимать, что виртуальная среда - это специальный инструмент, используемый для хранения зависимостей, требуемых различными проектами, в отдельных местах, создавая изолированные, независимые среды Python для каждого из них.
Короче говоря, он решает проблему «Project X зависит от версии 1.x, но Project Y требует 4.x» . Он также сохраняет ваши глобальные site-packages опрятными и аккуратными.
В сообществе Python является обычной практикой использование каких-либо виртуальных сред, поэтому я настоятельно рекомендую вам сделать то же самое:
$ sudo pip install virtualenv virtualenvwrapper
$ sudo rm -rf ~/.cache/pip
Время: 35 с
Теперь, когда были установлены и virtualenv, и virtualenvwrapper , нам нужно обновить наш ~ / .profile , чтобы включить следующие строки в нижней части файла:
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
Рекомендую использовать ваш привычный текстовый редактор на основе терминала, такой как vim , emacs или nano, чтобы обновить ~ / .profile.
Если вы знакомы с этими редакторами, обновите файл, чтобы отразить изменения, упомянутые выше.
В противном случае вы должны просто использовать cat и перенаправление вывода для обработки обновления ~ / .profile:
$ echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile
$ echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile
$ echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.profile
$ echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile
Теперь у нас есть обновленный ~ / .profile.
Далее нам необходимо перезагрузить его, чтобы изменения вступили в силу. Вы можете принудительно перезагрузить ваш ~ / .profile так:
1. Выйти из системы, а затем снова войти в нее.
2. Закрытие терминала и открытие нового
3. Или просто используйте команду:
$ source ~/.profile
Примечание: я рекомендую запускать source ~/.profile file каждый раз,
когда вы открываете новый терминал, чтобы убедиться, что системные переменные установлены правильно.
Создание виртуальной среды Python
Далее, давайте создадим виртуальную среду Python, которую мы будем использовать для разработки компьютерного зрения:
$ mkvirtualenv cv -p python2
Эта команда создаст новую виртуальную среду Python с именем cv, если вы используете Python 2.7 .
Если вы вместо этого хотите использовать Python 3 , вам нужно использовать эту команду:
$ mkvirtualenv cv -p python3
Опять же, не могу не подчеркнуть момент - Python vc является полностью независимой от версии Python по умолчанию включенного в загрузку Raspbian Stretch.
Любые пакеты Python в глобальном site-packages каталоге не будут доступны в виртуальной среде и наоборот.
Помните об этом при работе в виртуальной среде и это поможет избежать путаницы и головной боли.
Как проверить, что вы находитесь в виртуальной среде cv
Если вы перезагрузите свой Raspberry Pi; выйдете и снова войдете в систему; или откроете новый терминал, вам нужно будет использовать команду workon для повторного доступа к виртуальной среде cv . Использовать команду mkvirtualenv - не нужно! Команда mkvirtualenv предназначена для выполнения только один раз -для создания виртуальной среды.
После этого вы можете использовать workon и попасть в свою виртуальную среду:
$ source ~/.profile
$ workon cv
Чтобы проверить и убедиться, что вы находитесь в виртуальной среде cv , проверьте вашу командную строку - если вы видите текст ( cv ), предшествующий вашей записи, то вы находитесь в виртуальной среде cv :
Рисунок 3: Убедитесь, что в приглашении вы видите текст « (cv) », указывающий на то, что вы находитесь в виртуальной среде cv.
В противном случае, если вы не видите текст ( cv ) , то вы не находитесь в виртуальной среде cv :
Рисунок 4: Если вы не видите текст « (cv) » в приглашении, значит, вы не находитесь в виртуальной среде cv и вам нужно запустить « source » и « workon » для решения этой проблемы.
Чтобы это исправить, просто выполните команды source и workon, упомянутые выше.
Установка NumPy на Raspberry Pi
Теперь, когда вы находитесь в виртуальной среде cv, установим единственную зависимость от Python - это
Ссылка скрыта от гостей
, пакет Python, используемый для числовой обработки:$ pip install numpy
Время: 11м 12с
Если вам кажется, что установка зависла – не переживайте – на самом деле она продолжается, просто требуется время, чтобы разгрузить исходные коды и скомпилировать.
Вы можете проверить, что NumPy компилируется и устанавливается, запустив top . Здесь вы увидите, что ваши циклы процессора используются при компиляции NumPy.
Шаг № 5: Компиляция и установка OpenCV
Теперь мы готовы скомпилировать и установить OpenCV. Дважды проверьте, что вы находитесь в виртуальной среде cv , изучив ваше приглашение (вы должны увидетьтекст ( cv ) перед ним), а если нет, просто выполните workon :
$ workon cv
Убедившись, что вы находитесь в виртуальной среде cv , мы можем настроить нашу сборку с помощью CMake:
$ cd ~/opencv-3.3.0/
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules \
-D BUILD_EXAMPLES=ON ..
Время: 2м 56с
Теперь, прежде чем мы перейдем непосредственно к этапу компиляции, обязательно изучите вывод CMake!
Начните с прокручивания вниз разделов под названием Python 2 и Python 3 .
При компиляции OpenCV 3 для Python 2.7 убедитесь, что ваш Python 2 раздел содержит действительные пути к Interpreter , Libraries , NumPy и packages path , как на скриншоте ниже:
Рисунок 5: Проверка того, что Python 3 будет использоваться при компиляции OpenCV 3 для Raspbian Stretch на Raspberry Pi 3.
Обратите внимание, как интерпретатор указывает на наш python2 . 7 двоичных файлов, расположенных в виртуальной среде cv . NumPy переменная также указывает на установку NumPy .
Точно так же компилируется OpenCV для Python 3. Убедитесь, что раздел Python 3 выглядит как на рисунке ниже:
Рисунок 6: Проверка того, что Python 3 будет использоваться при компиляции OpenCV 3 для Raspbian Stretch на Raspberry Pi 3.
Опять же, Interpreter указывает на наш python3 . 5 двоичных файлов, расположенных в виртуальной среде cv, в то время как numpy указывает на нашу установку NumPy
В любом случае, если вы не видите виртуальную среду cv в этих путях переменных, это наверняка, потому. что вы НЕ находились в виртуальной среде cv до запуска CMake!
Если это так, обратитесь к виртуальной среде cv с помощью workon cv и повторите команду cmake, описанную выше.
Настройте размер пространства подкачки перед компиляцией
Прежде чем начать процесс компиляции, вы должны увеличить размер пространства подкачки. Это позволяет OpenCV компилировать все четыре ядра Raspberry PI без зависания компиляции из-за проблем с памятью.
Откройте файл /etc /dphys-swapfile и отредактируйте переменную CONF_SWAPSIZE :
# set size to absolute value, leaving empty (default) then uses computed value
# you most likely don't want this, unless you have an special disk situation
# CONF_SWAPSIZE=100
CONF_SWAPSIZE=1024
Обратите внимание, что я закомментировал строку размером 100 МБ и добавил строку размером 1024 МБ. В этом секрет компиляции с несколькими ядрами на Raspbian Stretch.
Если вы пропустите этот шаг, OpenCV может не скомпилироваться.
Чтобы активировать новое пространство подкачки, перезапустите службу подкачки:
$ sudo /etc/init.d/dphys-swapfile stop
$ sudo /etc/init.d/dphys-swapfile start
Примечание. Можно сжечь карту microSD Raspberry Pi, так как флэш-память имеет ограниченное количество операций записи. Рекомендуется изменить этот параметр обратно по умолчанию, после того как вы сделали компиляцию и протестировали установку.
Наконец, теперь мы готовы скомпилировать OpenCV:
$ make -j4
Время: 1ч 30м
Как только OpenCV 3 завершит компиляцию, вы увидите примерно следующее:
Рисунок 7: Наша компиляция OpenCV 3 на Raspbian Stretch успешно завершена
Теперь все, что нам нужно сделать, это установить OpenCV 3 на Raspberry Pi 3:
$ sudo make install
$ sudo ldconfig
Время: 52 с
Шаг № 6: Окончание установки OpenCV на вашем Pi
Мы почти закончили - еще несколько шагов, и вы будете готовы использовать Raspberry Pi 3 с OpenCV 3 на Raspbian Stretch.
Для Python 2.7:
Если ваш шаг № 5 завершен без ошибок, OpenCV теперь должен быть установлен в /usr/local/lib/python2.7/site-pacakges . Вы можете проверить это с помощью команды ls :
$ ls -l /usr/local/lib/python2.7/site-packages/
total 1852
-rw-r--r-- 1 root staff 1895772 Mar 20 20:00 cv2.so
Примечание. В некоторых случаях OpenCV можно установить в / usr / local / lib/ python2 . 7 / dist-packages (обратите внимание на dist-packages , а не site-packages ).
Если вы не нашли CV2 в site-packages , мы рекомендуем проверить dist-packages.
Наш последний шаг - sym-link на OpenCV - привязка в виртуальной среде для Python 2.7:
$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
$ ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
Для Python 3:
После запуска make install ваши привязки OpenCV + Python должны быть установлены в /usr / local / lib /python3 . 5/site-packages . Опять же, вы можете проверить это с помощью команды ls :
$ ls -l /usr/local/lib/python3.5/site-packages/
total 1852
-rw-r--r-- 1 root staff 1895932 Mar 20 21:51 cv2.cpython-34m.so
Если при компиляции привязок OpenCV 3 для Python 3+ выводится cv2.cpython-35m-arm-linux-gnueabihf.so (или некоторый вариант), а не просто cv2 . так (как в привязках Python 2.7).
Это легко исправить. Все, что нам нужно сделать, это переименовать файл:
$ cd /usr/local/lib/python3.5/site-packages/
$ sudo mv cv2.cpython-35m-arm-linux-gnueabihf.so cv2.so
После переименования в cv2 мы можем символически связать наши привязки OpenCV с виртуальной средой cv для Python 3.5:
$ cd ~/.virtualenvs/cv/lib/python3.5/site-packages/
$ ln -s /usr/local/lib/python3.5/site-packages/cv2.so cv2.so
Шаг № 7: Тестирование установки OpenCV 3
Проверим, что наша установка OpenCV работает правильно.
Откройте новый терминал, выполните команды source и workon и, наконец, попытайтесь импортировать привязки Python + OpenCV:
$ source ~/.profile
$ workon cv
$ python
>>> import cv2
>>> cv2.__version__
'3.3.0'
>>>
Как вы можете видеть из скриншота - OpenCV 3 был успешно установлен в среде Raspberry Pi 3 + Python 3.5:
Рисунок 8: Подтверждение того, что OpenCV 3 был успешно установлен на Raspberry Pi 3 с Raspbian Stretch.
После установки OpenCV вы можете удалить обе директории opencv - 3.3.0 и opencv_contrib - 3.3.0, чтобы освободить кучу места на вашем диске:
$ rm -rf opencv-3.3.0 opencv_contrib-3.3.0
Однако будьте осторожны с этой командой! Убедитесь, что OpenCV правильно установлен в вашей системе, прежде чем уничтожать эти каталоги.
Ошибка здесь может стоить вам часов во время компиляции.
Не забудьте изменить размер свопа обратно!
Откройте файл / etc / dphys - swapfile и отредактируйте переменную CONF_SWAPSIZE :
# set size to absolute value, leaving empty (default) then uses computed value
# you most likely don't want this, unless you have an special disk situation
CONF_SWAPSIZE=100
# CONF_SWAPSIZE=1024
Обратите внимание, что я закомментировал строку 1024 МБ и раскомментировал строку 100 МБ.
Если вы пропустите этот шаг, ваша карта памяти долго не протянет. Как указано выше, большие области подкачки могут привести к повреждению памяти, поэтому я рекомендую установить его обратно в 100 МБ.
Чтобы вернуться к меньшему объему подкачки, перезапустите службу подкачки:
$ sudo /etc/init.d/dphys-swapfile stop
$ sudo /etc/init.d/dphys-swapfile start
Устранение неполадок и часто задаваемые вопросы
Вопрос: При попытке выполнить mkvirtualenv и workon , я получаю сообщение «ошибка команда не найдена».
Ответ: Есть три причины, по которым это может происходить, все они связаны с Шагом № 4
Убедитесь, что вы установили virtualenv и virtualenvwrapper через pip . Вы можете проверить это, запустив pip freeze, а затем проверив выходные данные, убедившись, что вы видите вхождения как virtualenv, так и virtualenvwrapper .
Возможно, вы не обновили ваш ~/.profile file правильно. Используйте текстовый редактор, такой как nano, для просмотра ~/.profile file и убедитесь , что соответствующие экспортные и исходные команды присутствуют (снова, проверьте Шаг № 4 .
Вы не нашли свой источник ~/.profile после его редактирования, перезагрузки, открытия нового терминала и т. д. Каждый раз, когда вы открываете новый терминал и хотите использовать виртуальную среду, убедитесь, что вы выполняете source ~/.profile для загрузки содержимого - это даст вам доступ к командам mkvirtualenv и workon .
Вопрос: После открытия нового терминала, выхода из системы или перезагрузки моего Pi я не могу выполнить mkvirtualenv или workon .
Ответ: См. Причину № 3 из предыдущего вопроса.
Вопрос: Когда я открываю оболочку Python, которая импортирует OpenCV, или выполняю скрипт Python, который вызывает OpenCV, я получаю сообщение об ошибке: ImportError : Нет модуля с именем cv2 .
Ответ: К сожалению, эту ошибку чрезвычайно сложно диагностировать, главным образом потому, что существует множество проблем, которые могут быть причиной.
Для начала убедитесь, что вы находитесь в виртуальной среде cv с помощью workoncv . Если команда workon завершается неудачно, см. первый вопрос в этом FAQ. Если вы все еще получаете ошибку, изучите содержимое каталога site – packages для вашей виртуальной среды cv . Вы можете найти site-packages в директории ~ / .virtualenvs / cv/ lib / python2 . 7 / site-packages / или ~ / . virtualenvs / cv /lib / python3 . 5 / site-packages / (в зависимости от того, какую версию Python вы использовали для установки). Убедитесь, что ваша sym-link на cv2 указывает на существующий файл.
Все приведенные примеры кода точно работают на Raspberry Pi 2 и Pi 3.
Большинство программ также будут работать на моделях B + и Zero.