Contador De Personas Con Raspberry Pi
by MCI electronics in Circuits > Raspberry Pi
138 Views, 0 Favorites, 0 Comments
Contador De Personas Con Raspberry Pi
Este proyecto implementa un Contador de Personas utilizando una Raspberry Pi, cámara y la librería OpenCv, desplegando directamente en el sistema operativo Raspbian la interfaz gráfica que muestra el análisis.
Software
Sistema Operativo Raspbian Jeasy
OpenCV 3.0 raspicam-0.1.6 Contador: http://35.205.229.45/documents/6
- contador.cpp
- Makefiale
- contador
Downloads
Materiales
RaspberryPi 3 B: http://www.mcielectronics.cl/shop/product/raspberry-pi-3-model-b-19766?category=416
Cámara V2 para RaspberryPi de 8 mega píxeles: http://www.mcielectronics.cl/shop/product/camera-board-v2-for-raspberry-pi-8-megapixel-21481https://www.raspberrypi.org/products/camera-module-v2/
SD 16GB: http://www.mcielectronics.cl/shop?search=memoria+microSD
HDMI: http://www.mcielectronics.cl/shop?search=hdmi
Teclado
Mouse
Monitor
Instalación Sistema Operativo Raspbian Jeasy
Paso 1:
Descargar sistema operativo para la RaspberryPi 3 http://downloads.raspberrypi.org/NOOBS/images/NOOBS-2017-07-05/NOOBS_v2_4_2.zip
Paso 2:
La SD debe tener formato FAT32
Descomprime el contenido de NOOBS_v2_4_2.zip en la SD
Paso 3:
Conecta la SD en la RaspberryPi 3, energiza y sigue las instrucciones.
Compilación E Instalación OpenCV 3
Paso 1:
Eliminar Wolfram
$ sudo apt-get purge wolfram-engine
reiniciar
$sudo reboot
Paso 2:
Instalar dependencias
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install build-essential cmake pkg-config
Instalar paquetes de I/O de imágenes que permitan cargar varios formatos de archivos de imágenes desde el disco como JPEG, PNG, TIFF, etc.
$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
Instalar paquetes de I/O de video
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev
OpenCV viene con un submódulo llamado highgui que se utiliza para mostrar imágenes en nuestra pantalla y compilar GUI básicas. Para compilar el módulo highgui, necesitamos instalar la biblioteca de desarrollo
$ sudo apt-get install libgtk2.0-dev
Para optimizar operaciones dentro de OpenCV instalar las siguientes dependencias adicionales
$ sudo apt-get install libatlas-base-dev gfortran
Paso 3:
Descargar Código Fuente de OpenCV
$ cd ~
$ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip
$ unzip opencv.zip
Realizaremos una instalación completa de OpenCV 3, para tener acceso a características como SIFT y SURF, por ejemplo, para lo que instalaremos opencv_contrib:
$ wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
$ unzip opencv_contrib.zip
Paso 4:
Instalar virtualenv y virtualenvwrapper
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
$ sudo pip install virtualenv virtualenvwrapper
$ sudo rm -rf ~/.cache/pip
Ahora que se han instalado tanto virtualenv como virtualenvwrapper, debemos actualizar nuestro archivo ~ / .profile para incluir las siguientes líneas en la parte inferior del archivo:
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
ejecutar el comando:
$source ~/.profile
Crear un virtual enviroment
$ mkvirtualenv cv -p python2
Activar el virtual enviroment creado
$ source ~/.profile
$ workon cv
Instalar NumPy en RaspberryPi
$ pip install numpy
Paso 5:
Compilar e Instalar OpenCV 3
$ workon cv
$ cd ~/opencv-3.1.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.1.0/modules \
-D BUILD_EXAMPLES=ON ..
Finalmente compilar OpenCV con un solo core
$ make
si se quiere usar mas cores para compilación (usa los 4 cores de la placa)
$ make -j4
Instalar Open CV
$ sudo make install
$ sudo ldconfig
Instalación Y Configuración Cámara
Paso 1:
Conecta la cámara como se muestra en figura1: Conexión de la Cámara a la RaspberryPi 3
Paso 2:
Habilita el modulo de la cámara ejecutando el siguiente comando por consola en la RaspberryPi 3
$ sudo raspi-config
y selecciona las opciones que se muestran a continuación
Figura 2: Seleccionar opción 5 [5 Interfacing Options]
Figura 3: Seleccionar opción 1 [P1 Camera]
Se debe reiniciar la RasperryPi para aplicar la configuración
Paso 3:
Para probar el correcto funcionamiento ejecuta en consola
$ raspistill -o output.jpg
Esto capturara una foto con la cámara y la guardara en el directorio en que estas ejecutando el comando
Paso 4:
Para Instalar api C++ para usar la Cámara RaspberryPi con OpenCV descargar https://sourceforge.net/projects/raspicam/files/raspicam-0.1.6.zip/download descomprimir y compilar
$cd raspicamxx
$mkdir build
$cd build
antes de compilar se debe instalar CMake
$sudo apt-get install cmake
Compilar la api para el uso de la cámara con c++
$cmake ..
Finalmente compile, instale y actualice el ldconfig
$make
$sudo make install
$sudo ldconfig
La api queda disponible en /usr/local/include
Instalación Contador
Opcion1
Descargar el archivo contador http://35.205.229.45/attachments/44/contador y dar permiso de ejecución
$ sudo chmod +x contador
ejecutar por consola
$ ./contador
Opcion2
Descargar los archivos Make y contador.cpp y dar permiso de ejecución
$ sudo chmod +x Make contador.cpp
ejecutar por consola
$ make
$ ./contador
Aparecerá una ventana "Frame" con una captura de la cámara, con el mouse se debe trazar la línea de conteo como se muestra en la Figura4, y luego presionar la barra espaciadora
Figura4: Ventana para la definición del contador
Aparecerá una ventana "keypoints" que despliega el contador, la línea de conteo y el flujo de la cámara
Figura5: Despliegue de Imagen y Contador
todos los objetos detectados que atraviesen la línea serán contados por el sistema.