Difference between revisions of "RaspberryPi"

From Asociación de Robótica UC3M
Jump to navigation Jump to search
Line 126: Line 126:
 
A partir de la línea 232 está el código preparado para procesar la imagen con OpenCV.
 
A partir de la línea 232 está el código preparado para procesar la imagen con OpenCV.
  
== SimpleCV ==
 
  
Estas librerías sirven para poder utilizar la ''raspicam'' desde un programa escrito en python.
 
 
=== Instalación ===
 
 
Seguir los pasos descritos en esta [http://tothinkornottothink.com/post/59305587476/raspberry-pi-simplecv-opencv-raspicam-csi-camera página].
 
 
<pre>
 
sudo apt-get install git
 
git clone git://github.com/sightmachine/SimpleCV.git
 
cd SimpleCV
 
python setup.py install
 
sudo pip install --upgrade pip
 
</pre>
 
 
Sal de la sesión y vuelve a entrar.
 
 
<pre>
 
sudo pip install virtualenvwrapper
 
</pre>
 
 
Modificar '''./bashrc''' para incluir la siguiente línea al final del todo.
 
 
<pre>
 
source /usr/local/bin/virtualenvwrapper.sh
 
</pre>
 
 
Cierra el terminal y vuelve a abrirlo para cargar el '''.bashrc''' editado. Otra opción es ejecutar:
 
 
<pre>
 
. .bashrc
 
</pre>
 
 
Llegados a este punto, conviene saber cómo funciona el ''virtualenvwrapper''. Para ello esta [https://pypi.python.org/pypi/virtualenvwrapper página] es de gran interés.
 
 
Lo más importante es crear el espacio de trabajo y luego acceder a él con un '''workon'''.
 
  
  
 
----
 
----
 
[[File:By-sa.png|100px| link=http://asrob.uc3m.es/index.php/Asociaci%C3%B3n_de_Rob%C3%B3tica_UC3M:General_disclaimer]] Este obra está bajo una [http://creativecommons.org/licenses/by-sa/3.0/deed.es_ES licencia de Creative Commons Reconocimiento-CompartirIgual 3.0 Unported].
 
[[File:By-sa.png|100px| link=http://asrob.uc3m.es/index.php/Asociaci%C3%B3n_de_Rob%C3%B3tica_UC3M:General_disclaimer]] Este obra está bajo una [http://creativecommons.org/licenses/by-sa/3.0/deed.es_ES licencia de Creative Commons Reconocimiento-CompartirIgual 3.0 Unported].

Revision as of 19:04, 27 November 2013

Logo concursos.png

Diseños

Todos los diseños disponibles se encuentran en el siguiente [enlace].

Sistemas Operativos

Proyectos interesantes

Guías de instalación

OpenCV

Las librerías de openCV se instalan mediante un script autoejecutable.

$ wget https://raw.github.com/jayrambhia/Install-OpenCV/master/Ubuntu/2.4/opencv2_4_5.sh
$ chmod +x opencv2_4_5.sh
$ ./opencv2_4_5.sh

Posibles problemas

No se pudieron obtener algunos archivos, ¿Quizá deba ejecutar <<apt-get update>> o deba intentarlo de nuevo con --fix-missing?

Para resolver, dejar instalar y cuando acabe, hacer

$ sudo apt-get update

Y volver a ejecutar

$./opencv2_4_5.sh

Una vez compilado despues de unas cuatro horas y media:

$ cd programs/OpenCv/opencv-2.4.5/build
$ sudo make install

A partir de aquí es necesario seguir el tutorial del la siguiente página

El paso 2 trata sobre instalar userland que es un programa llamado rapistill que usa el acceso a la cámara de la raspberry y demás. El paso 3 es para crear el primer programa y poner a prueba los pasos anteriores.

Problema

A la hora de compilar con make (una vez modificado el CMakeLists.txt

fatal error EGL/egl.h: no such file or directory

Se soluciona instalando las librerías legl de synaptic que son las genéricas. Se han instalado las siguientes:

eglibc-source
libegl-0.2-0
libegl-dev

Se instalarán algunas dependencias más pero con estas valen. El último paso es modificar el CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project(camcv)
SET(COMPILE_DEFINITIONS -Werror)
include_directories(/opt/vc/host_applications/linux/libs/bcm_host/include)
include_directories(/opt/vc/interface/vcos)
include_directories(/opt/vc/)
include_directories(/opt/vc/interface/vcos/pthreads)
include_directories(/opt/vc/interface/vmcs_host/linux)
include_directories(/opt/vc/interface/khronos/include)
include_directories(/opt/vc/interface/khronos/common)

add_executable(camcv RaspiCamControl.c RaspiCLI.c RaspiPreview.c camcv.c RaspiTex.c RaspiTexUtil.c teapot.c models.c square.c mirror.c)

target_link_libraries(camcv /opt/vc/lib/libmmal_core.so /opt/vc/lib/libmmal_util.so /opt/vc/lib/libmmal_vc_client.so /opt/vc/lib/libvcos.so /opt/vc/lib/libbcm_host.so /opt/vc/lib/libGLESv2.so /opt/vc/lib/libEGL.so)

Ahora sí se puede compilar con make y no da problemas.

Finalmente para añadir opencv al programa seguir el paso 4 del tutorial

Para esta parte es necesario haber instalado el lilbfacerec (reconocimiento facial)

projects $ git clone https://github.com/bytefish/libfacerec.git
$ cd libfacerec
$ mkdir build
$ cd build
$ cmake ..
$ make

Ya se puede modificar el CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project(camcv)
SET(COMPILE_DEFINITIONS -Werror)
#OPENCV
find_package( OpenCV REQUIRED )

link_directories( /home/pi/projects/libfacerec )

include_directories(/opt/vc/host_applications/linux/libs/bcm_host/include)
include_directories(/opt/vc/interface/vcos)
include_directories(/opt/vc)
include_directories(/opt/vc/interface/vcos/pthreads)
include_directories(/opt/vc/interface/vmcs_host/linux)
include_directories(/opt/vc/interface/khronos/include)
include_directories(/opt/vc/interface/khronos/common)
add_executable(camcv RaspiCamControl.c RaspiCLI.c RaspiPreview.c camcv.c RaspiTex.c RaspiTexUtil.c teapot.c models.c square.c mirror.c)
target_link_libraries(camcv /opt/vc/lib/libmmal_core.so /opt/vc/lib/libmmal_util.so /opt/vc/lib/libmmal_vc_client.so /opt/vc/lib/libvcos.so /opt/vc/lib/libbcm_host.so /opt/vc/lib/libGLESv2.so /opt/vc/lib/libEGL.so /home/pi/projects/libfacerec/build/libopencv_facerec.a ${OpenCV_LIBS})

A partir de la línea 232 está el código preparado para procesar la imagen con OpenCV.




By-sa.png Este obra está bajo una licencia de Creative Commons Reconocimiento-CompartirIgual 3.0 Unported.