To install OpenCV on Raspberry Pi, you need Raspberry Pi (Pi2 preferably) , Pi camera, and internet connection to Raspberry Pi.
Copy this image to correct size SD Card. To do this correctly please refers the detailed instructions at https://www.raspberrypi.org/documentation/installation/installing-images/
Now since your SD card is ready, Boot your Pi. First thing you want to do is Enable Camera.
To do this run
Sudo raspi-config
and chose Enable Camera (menu 6) also chose the correct speed for your Raspberry Pi from Overclock option (menu 8).
Reboot your Raspberry Pi. Now its is time to Install python wrapper for OpenCV, to do this run
Sudo apt-get install python-opencv
sudo pip install imutils
Now we are almost done. Let"s test the Pi camera connected to Raspberry Pi for proper operation. For this on command prompt run,
Raspistill -o cam.jpg
The red light on the Pi camera will come on and a picture will be stored in cam.jpg file. Now we are all set to do some serious face tracking using Raspberry Pi. You can download the face tracking sample code using haar cascade from .
You can run this code from Raspberry Pi command line.
Python face_detect.py haarcascade_frontalface_default.xml
If the face is found in an image captured by camera, python program will print "Found 1 faces!. " Below is brief description of how the code work.
From picamera.array import PiRGBArray from picamera import PiCamera import time import cv2 import sys import imutils # Get user supplied values cascPath = sys.argv # Create the haar cascade faceCascade = cv2.CascadeClassifier(cascPath) # initialize the camera and grab a reference to the raw camera capture camera = PiCamera() camera.resolution = (160, 120) camera.framerate = 32 rawCapture = PiRGBArray(camera, size=(160, 120))
This imports the required libraries and open the haar cascade file
Raspberry pi camera is intialized and the streme of images is collectd from camera one by one. Resolution is selected to be 162X120 for fast detection of faces.
Image = frame.array gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
each image is picked from the camera and is loaded in nmupy array. Image is then converted to a grayscale image. This gray scale image is fed to facedetection alogorithm, with some minimum size setting
Faces = faceCascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30), flags = cv2.cv.CV_HAAR_SCALE_IMAGE) for (x, y, w, h) in faces: cv2.circle(image, (x+w/2, y+h/2), int((w+h)/3), (255, 255, 255), 1)
if any valid faces are found in image, function will return the list of faces with positions. We draw a white circle around each face and display results.
OpenCV — это популярная библиотека функций машинного зрения, которые позволяют роботам распознавать объекты окружающего мира. OpenCV применяют для навигации, обнаружения препятствий, распознавания лиц и жестов. В этой статье будет предложена пошаговая инструкция по установке OpenCV на одноплатный компьютер Raspberry Pi 3. Также эта статья предваряет серию уроков, направленных на освоение базовых функций OpenCV.
Anyone who has dealt with image processing in relation to the Raspberry Pi will sooner or later come across the OpenCV library. It provides many very useful features such as face recognition, the creation of depth maps (stereo vision, optical flow), text recognition or even for machine learning. In addition, OpenCV (Open Source Computer Vision) can be integrated into both its C ++ files and its Python scripts.
Especially in terms of feature recognition in images taken by the Raspberry Pi, OpenCV is very helpful.
This advanced tutorial shows how to install OpenCV on the Raspberry Pi and how to integrate it into Python.
For the time being, I would like to recommend everyone a Raspberry Pi Model B to use, because this is a lot more powerful than its predecessor. Even on a Raspberry Pi B + compiling takes about 6 times as long, with a Pi 2 in total “only” takes about an hour.
First of all, we update the package lists:
sudo apt - get update && sudo apt - get upgrade && sudo rpi - updateA reboot is necessary if it has been updated.
Sudo reboot
Then you can install all the important tools and libraries needed for OpenCV (installation takes a few minutes).
sudo apt - get install build - essential git cmake pkg - config libjpeg8- dev libtiff4 - dev libjasper - dev libpng12 - dev libavcodec- dev libavformat - dev libswscale - dev libv4l - dev libgtk2. 0 - dev libatlas- base - dev gfortranIf everything worked, we could clone OpenCV from git . This step also takes a few minutes.
git clone https : / / github .com / Itseez / opencv .git && cd opencv &&git checkout 3.0.0Whether version 3.0 or 2.4 of OpenCV is taken is up to you. Depending on the application, one of the versions may be better suited.
Afterwards, OpenCV can be compiled. You can either use Python 2.7 or Python 3+. There are some differences between the versions, especially as some libraries are not (yet) executable with Python 3+. However, this mainly affects smaller libraries, as common libraries (NumPy, SciPy, etc.) usually provide the respective files for both versions.
In this tutorial, I use Python 2.7. If you already have Python installed and want to know which version is installed, you can simply enter python into the console and get the exact version at the beginning (the command for Python 3+ is python3). If you do not have a Python installed, you can install it by following the steps below:
sudo apt - get install python2 . 7 - devWe also need the package management tool pip , which installs NumPy right away:
Cd ~ && wget https : / / bootstrap .pypa .io / get - pip .py && sudo python get - pip .py
Now we can simply install via pip NumPy. NumPy is a library that makes it very easy to perform array operations in Python.
pip install numpyBut now to compile OpenCV. For this purpose, a build folder must be created in which the compiled files land:
Cd ~ / 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 = ON - D OPENCV_EXTRA_MODULES_PATH = ~ / opencv_contrib / modules - D BUILD_EXAMPLES = ON . .
Now you can finally compile. This step takes (depending on Raspberry Pi model) quite a long time (on my Pi 2 about an hour). To use all four cores to compile on the Raspberry Pi 2, type in the following:
make - j4If the compilation has worked without problems, we can install OpenCV:
Sudo make install && sudo ldconfig
Недавно при реализации одного из проектов, связанных с распознаванием образов, у нас возникла необходимость установить библиотеку компьютарного зрения OpenCV на одноплатный микрокомпьютер Raspberry PB2.
Порывшись в Сети и потратив некоторое время на эксперименты мы успешно решили эту задачу. В результате получилась небольшая инструкция, которой мы с удовольствием делимся со всеми, кто решит использовать OpenCV на Raspberry.
Итак: установка OpenCV:
В примере мы используем версию opencv 2.4.9.
Для начала нам нужно обновить нашу систему:
sudo apt-get update sudo apt-get upgradeТеперь нам необходимо установить дополнительные библиотеки:
sudo apt-get -y install build-essential cmake cmake-curses-gui 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 sudo apt-get -y install 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.6 python-dev python2.6-dev libgtk2.0-dev swig libv4l-0 libv4l-dev libswscale-dev v4l-conf v4l-utils libgtk2.0-0 libgtk2.0-dev pkg-config libxvidcore-dev libx264-dev libavcodec-dev libavformat-dev libqt4-dev libqt4-opengl-dev libjasper-devПосле того как мы закончили устанавливать библиотеки переходим к установке OpenCV. В ходе установки может возникнуть ситуация при которой может не быть какой то библиотеки для Вашей системы и нужно будет смотреть чего не хватает и доставлять дополнительно.
Создаем папку в которую будем скачивать наш архив:
mkdir ~/opt/opencv/ cd ~/opt/opencv wget -O openCV-2.4.9.zip http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/downloadТеперь нам нужно распаковать наш архив. Для этого используем команду:
unzip openCV-2.4.9.zipВ результате у нас создастся папка openCV-2.4.9. Переходим в нее и создаем папку release
cd openCV-2.4.9 mkdir release cd releaseПришло время провести конфигурацию OpenCV. Если Вам не нужно сторонних настроек то можно воспользоваться конфигурацией по умолчанию (для этого просто жмем клавишу «с»). При запуске ccmake появится список настроек которые можно указать (как показано на картинке ниже)
И так приступим:
ccmake ../(Press "c" if empty cache configuration)
Нажимаем клавишу «с»
Когда прошли установки нажимаем снова клавишу «с» для продолжения и клавишу «g» для генерации makefile.
Теперь все сконфигурировано и осталось нажать make. Этот процесс займет в среднем порядка 10 чесов.
make sudo make installНа этом установка завершена. Осталось проверить работоспособность.
Создаем файл main.cpp
#include
Теперь необходимо создать файл CMakeLists.txt и вписать в него следущее:
Cmake_minimum_required(VERSION 2.8) project(DisplayImage) find_package(OpenCV REQUIRED) add_executable(DisplayImage main.cpp) target_link_libraries(DisplayImage ${OpenCV_LIBS})
Нам осталось только скомпилировать и запустить
cmake . makeЗапускаем
./DisplayImage path_to_photo.jpg
Если все прошло успешно то в результате увидим картинку, которую Вы указали в параметре пути к файлу.
Леонид, прогаммист компании Sidstudio
Защитите ваш сундучок от посторонних глаз без запоминания кодовой комбинации или использования ключа. Ваше лицо и будет служить ключом для открытия сундучка!
В данном проекте показано, как использовать микрокомпьютер Raspberry Pi и камеру Pi для открытия сундучка с помощью технологии распознавания лица.
Программная часть данного проекта основывается на алгоритме, который представлен в библиотеке OpenCV computer vision library . Raspberry Pi является идеальной платформой для данного проекта, поскольку обладает достаточной вычислительной мощностью для запуска OpenCV и имеет небольшие габаритные размеры, позволяющие вместится в любом месте.
Данный проект средний по сложности. В нем выполняется компилирование и установка программного обеспечения на микрокомпьютере Raspberry Pi. Если у вас есть опыт создания подобных вещей, и вы не имеете проблем при использовании командной строки, тогда вы полностью готовы пройти все этапы данного проекта. Вы также можете обратиться к справочным материалам Adafruit learning system при возникновении каких-либо проблем.
Шаг #1: Подготовка сундучка
Шаг #2: Изготовления защелки
Шаг #3: Завершение работы с сундучком
Шаг #4: Подключение электронных компонентов
Шаг #5: Компилирование OpenCV
sudo apt-get update && sudo apt-get install build-essential cmake pkg-config python-dev libgtk2.0-dev libgtk2.0 zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libjasper-dev libavcodec-dev swig
wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.7/opencv-2.4.7.tar.gz && tar zxvf opencv-2.4.7.tar.gz
cd opencv-2.4.7 && cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_PERF_TESTS=OFF -DBUILD_opencv_gpu=OFF -DBUILD_opencv_ocl=OFF
Шаг #6: Пробное распознавание лица
sudo python capture-positives.py
python train.py
Шаг #7: Конфигурирование сервопривода
sudo python
from RPIO import PWM
servo = PWM.Servo()
servo.set_servo(18, 1500)
Шаг #8: Запуск программного обеспечения
sudo python box.py