Entradas

Detección de objetos planos

Imagen
Seguimos aplicando los conocimientos adquiridos en tutoriales anteriores, esta vez aprenderemos a detectar un objeto plano conocido que se encuentre dentro de una imagen, para hacer esto requerimos extraer los puntos característicos de la imagen de referencia (el objeto que deseamos localizar) para luego ubicar estos puntos en la imagen de destino, luego usando homografía podemos obtener la posición de dicho objeto.

Combinar imágenes con OpenCV

Imagen
Dedicaremos este tutorial a tratar de aplicar los conocimientos adquiridos en la publicación anterior, detección y descripción de puntos característicos, lo que intentaremos hacer es combinar dos imágenes que tengan una porción en común, para ello localizaremos los keypoints de ambas y haremos el pareo para luego transformar la segunda imagen de modo que se combine con la primera haciendo coincidir los keypoints.

Extracción de puntos característicos (keypoint)

Imagen
Los puntos característicos de una imagen, también llamados keypoints en inglés, son aquellas puntos que son fácilmente diferenciables en una imagen, para extraer dichos puntos OpenCV cuenta con diversas clases que implementan los algoritmos más conocidos que han sido desarrollados para este propósito, los mismos se encentran en el módulo cv::features2d algunas de ellas son AKAZE, BRISK, ORB, etc., otros algoritmos que requieren licencia los puedes encontrar en el módulo opencv_contrib, más específicamente cv::xfeatures2d podemos usar SURF, FREAK, SIFT, entre otros.

OpenCV4Android Detección de Objetos

Imagen
Luego de haber creado nuestra primera aplicación Android OpenCV vamos a introducir conceptos un poco más avanzados y funcionales, en este tutorial aprenderemos a usar los clasificadores en cascada XML para detectar un objeto de nuestro interés, en este caso utilizaremos uno los clasificadores pre-entrenados que se incluyen en el SDK pero puedes entrenar tu propio clasificador que que detecte cualquier objeto que desees.

Compilar Ninja sobre Windows con Visual Studio

Imagen
El presente tutorial de dedicaremos al proceso requerido para construir el sistema Ninja, este es un sistema de construcción pequeño y muy rápido, actualmente Ninja se usa para construir Google Chrome, partes de Android, LLVM, y se puede usar en muchos otros proyectos debido al backend Ninja de CMake.

Serializar objetos Java en formato binario

Imagen
En tutoriales anteriores aprendimos como serializar objetos Java en formato JSON ya sea para enviarlos por la red o guardarlos en un archivo, para esta ocasión vamos a estudiar la librería msg-pack la cual nos permitirá serializar objetos Java o tipos primitivos en formato binario, al utilizar un archivo binario la lectura y la escritura es mucho más rápida, además el tamaño del archivo se reduce en comparación a un archivo que almacena JSON en formato texto plano.

Programación OpenCV para Android Introducción

Imagen
Esta vez veremos el proceso requerido para desarrollar una App para el sistema Android utilizando la biblioteca OpenCV, aprenderemos como configurar nuestro entorno de programación y crearemos nuestra primera aplicación la cual nos permitirá capturar video accediendo a la cámara del dispositivo, dicho video será procesado en tiempo real para mostrar el detector de bordes Canny.

Compilar el SDK OpenCV para Android

Imagen
Dedicaremos este tutorial a conocer el proceso necesario para compilar la librería OpenCV para Android, al terminar obtendremos el OpenCV4Android SDK requerido para desarrollar aplicaciones de Visión por Computador destinadas a ser utilizadas en dispositivos móviles con sistema operativo Android, con este SDK podremos crear aplicaciones de reconocimiento de objetos, caras, etc., realidad aumentada, aprendizaje automático y otros.

Obtener esqueleto de imagen binaria

Imagen
Se le llama esqueleto de una imagen a un conjunto de curvas centradas que surge de reducir la forma original. El cálculo del esqueleto es una herramienta de análisis no escalar de formas, que conserva las propiedades topológicas de la forma original así como las propiedades geométricas, según el método utilizado. El esqueleto también es conocido como eje medio y tiene diversas aplicaciones, por ejemplo: reconocimiento de letras, números o símbolos, identificación de huellas dactilares, y muchas otras.

Uso de la clase QSettings

Imagen
La clase QSettings del framework Qt nos permitirá guardar las configuraciones de nuestra aplicación ya sea en el registro o en un archivo de configuración .ini, por ejemplo, podemos guardar el tamaño y posición de la ventana para que cuando el usuario abra nuevamente la aplicación esta se muestra en la misma posición y tamaño que el usuario había configurado posteriormente, del mismo modo podemos guardar todo tipo de información y recuperarla posteriormente.

Temas relacionados