notifications Notificaciones

Marcar todas como leídas

Ver más

lightbulb_outline

438 veces ha sido leído este artículo

Cómo detectar caras usando PHP

Lo lees en 2 Min.

Me crucé con una pregunta muy interesante en un foro de PHP:

¿Cómo detectar caras en imágenes?

Me intrigó el tema, así que me puse a investigar un poco y llegué a un paquete que prometía: mauricesvay/php-facedetection.

Sin perder mucho tiempo, armé mi proyecto (¡vía mi amigo composer, obvio!): composer require mauricesvay/php-facedetection

Y ahí me fui a ver la documentación... algo pobre por cierto... así que decidí escribir estas líneas a ver si puedo ayudar a algún colega :).

Ansioso por probar mi nuevo juguete hice lo que cualquiera haría... copié el archivo index.php a mi proyecto, hice algunas adaptaciones hasta llegar a:

    <?php
    require_once 'vendor/autoload.php';
    $detector = new svay\FaceDetector('detection.dat');
    $detector->faceDetect($argv[1]);
    $detector->toJpeg();

Y... ¡a ver qué tal funciona esto!

Hice la ejecución correspondiente: php index.php ~/Pictures/Mauro\ 2011.jpg

Foto que contiene una cara

Y obtuve unas tres pantallas de símbolos ilegibles... no exactamente lo que esperaba :(

Lo que pasaba en realidad era simple: el método toJpeg() escupe la imagen directo a la salida... nada muy problemático en realidad.

Versión 2 de la llamada: php index.php ~/Pictures/Mauro\ 2011.jpg > cara.jpg

Ahora sí :)

Foto con una cara enmarcada

Otro método que puede resultar interesante es cropFaceToJpeg. Este método genera una nueva imagen que sólo contiene la cara en cuestión:

Foto que contiene sólo la cara

Y tiene una pequeña ventaja: se le puede pasar un parámetro para especificar la salida... No me preguntes por qué no tiene lo mismo el anterior... así era cuando llegué. Aunque siendo una librería de código abierto, en una de esas me inspiro y le agrego el parámetro :).

Todo va a funcionar bien siempre que tengas instalada la librería GD.

Y luego, si queremos levantar un poco la apuesta... ¿se podrá pedir a esta librería comparar dos caras? (Como para hacer un login vía webcam o algo así).

Me temo que no pero... ¡a no desperar! Existe otro recurso que vale la pena explorar: FaceRD.

Esta librería es mucho más elaborada (lástima que la documentación no acompañe :p) y utiliza el poder de cómputo de terceros (Microsoft Face por ejemplo).

No he llegado a probarla aún, dicen que va muy bien, sólo que tiene un límite al uso gratuito.

¿Conoces alguna otra librería interesante para detectar caras?

Recomendaciones

Trabajando desde casa. Siendo productivo.

Lo lees en 4 Min.

Trabajando desde casa. Siendo productivo. Introducción Trabajar desde casa no indica mejor rend...

 

Encuentra tu motivación

Lo lees en 6 Min.

Es bien sabido que el camino a la especialización y el dominio de una habilidad o una carrera sue...

 

¿Qué tan felices somos los profesionales que desarrollamos software en México?

Lo lees en 1 Min.

Hola a todos estoy realizando un estudio para saber el nivel de satisfacción laboral de los desa...

 

Resumen de la Semana (Octubre 8-14)

Lo lees en 5 Min.

Introducción Hola Codiers. Esta semana estamos cargados de noticias de tecnología, desde lanzami...

 

Comunidad