Entradas

Segmentación de instancias con OpenCV DNN

Imagen
La segmentación de instancias es el proceso mediante el cual buscamos detectar un objeto en una escena y generar una máscara que nos permita extraer con mayor presición el objeto detectado, puede verse como el conjunto de dos procesos primero detectar el área rectángular que contiene el objeto y luego obtener la máscara que segmenta dicho objeto.

Job en android kotlin

1. Introducción Breve: ¿Qué es un Job ? En el mundo de las Corrutinas de Kotlin (que son como hilos de ejecución súper ligeros), un Job es simplemente un manejador o un “recibo” de una tarea que se está ejecutando en segundo plano. Piénsalo como el ticket que te dan cuando dejas ropa en la lavandería: ese ticket te permite saber si la ropa está lista, si se está lavando o, si decides que ya no la quieres, usarlo para cancelar el pedido. Un Job te da control total sobre la vida de tu tarea en segundo plano. 2. Ejemplo de Aplicación en el Mundo Real Imagina que estás construyendo una aplicación de edición de fotos. El usuario aplica un filtro complejo a una imagen de alta resolución. Esta operación tarda unos segundos y se ejecuta en segundo plano para no congelar la pantalla. De repente, el usuario decide que no le gusta cómo está quedando y presiona el botón “Cancelar” o retrocede a la pantalla anterior. Sin un Job , la aplicación seguiría gastando batería y procesad...

Python Binance API

Imagen
Vamos a aprender como integrar la API de Binance con nuestra aplicación Python, para este pequeño tutorial de programación estudiaremos los pasos necesarios que nos permitirán integrar esta tecnología de manera que podamos desarrollar una app que pueda dar seguimiento a los precios de las criptomonedas y realizar operaciones con las mismas, ya sean compras o ventas desde el exchange antes mencionado. Como integrar con Python 3 Lo primero es instalar las correspondientes librerías, lo hacemos con el siguiente comando: pip install python-binance pip install keyboard Si tienes estás en Windows y tienes problemas con la instalación de la librería Twisted la cual se requiere como dependencia puedes descargarla manualmente desde el enlace asegúrate de descargar la versión que coincida con la versión de Python que tienes instalada y también el sistema operativo. El paso siguiente consiste en generar las claves de acceso a la api que nos permitirá acceder a nuestra cuenta en dicho excha...

Ejecutar aplicación WPF con permisos de administrador

Imagen
En ocasiones requerimos que nuestra aplicación se ejecute con permisos de administración por diferentes motivos, en este breve tutorial veremos como podemos hacer que una app desarrollada con WPF solicite permisos al momento de ejecutarse. Asumimos que ya tenemos una nuestra aplicación desarrollada y que estamos trabajando con Visual Studio. Lo que debemos hacer es ir a la pestaña explorador de soluciones, clic derecho, agregar nuevo elemento. Seleccionamos archivo de manifiesto de Windows. En el archivo app.manifest que se crea modificamos el código para cambiar lo siguiente: reemplazar: <requestedExecutionLevel level="asInvoker" uiAccess="false" /> por: <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> El código quedaría de la siguiente manera: <?xml version="1.0" encoding="utf-8"?> <assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1...

Integrar ExoPlayer con Android Leanback

Imagen
Leanback es la librería de Android que facilita el desarrollar aplicaciones para Android TV, muchas de estas aplicaciones requieren o hacen uso de un reproductor multimedia, por lo que en este tutorial veremos como integrar el reproductor ExoPlayer .

OpenCV lector de códigos QR

Imagen
A partir de la versión 4.0.0 de OpenCV se agregó la funcionalidad de poder detectar y decodificar códigos QR sin necesidad de librerías externas, sin embargo la misma no realizaba el trabajo de la mejor manera, en la reciente versión 4.1.2 se agregaron mejoras que probaremos en día de hoy, veremos como usar OpenCV para crear un detector y decodificador de códigos QR en tiempo real con unas pocas líneas de código C++. La clase encargada de realizar la respectiva tarea es QRCodeDetector , usando sus métodos detect(...) podremos detectar un código QR en una imagen en colores o a escala de grises, con decode(...) decodificamos el código y obtenemos la información que contenga el mismo, para nuestro ejemplo una URL, también podremos usar detectAndDecode(...) para hacer ambas tareas en una sola llamada. int main ( int argc , char * argv [ ] ) { // Init QR Detector QRCodeDetector qr = QRCodeDetector :: QRCodeDetector ( ) ; VideoCapture capture ; if ( capture . open ( ...

Distribuir aplicación Qt-5 en Windows

Imagen
Luego de haber creado nuestra aplicación Qt 5 para Windows la pregunta es, como la distribuimos, es decir que necesitamos hacer para que nuestra aplicación se ejecute en los ordenadores de los usuarios, para esta tarea el Framework Qt nos provee de una herramienta de línea de comandos llamada windeployqt , es este tutorial vamos a ver su uso.

Clasificación de género y detección de rostros

Imagen
Seguimos probando lo que podemos hacer con el módulo DNN de OpenCV versión 4.0, esta vez vamos a crear una simple aplicación la cual captura video de la webcam, detecta un rostro e intenta predecir si el mismo pertenece a una cara masculina o femenina.

Medir tiempo de ejecución y FPS

Imagen
En ocaciones necesitamos conocer el tiempo que le toma a una función realizar su trabajo, para ello utilizaremos las funciones proporcionadas por OpenCV, estas son cv::getTickFrequency() y cv::getTickCount() , mas adelante veremos que hace cada una de ellas y como podemos usarlas para calcular los FPS cuando hacemos una aplicacion que funcione en tiempo real.

Emulador android en CPU AMD Ryzen

Imagen
A partir de las versiones 3.2 Beta de Android Studio se introdujo la posibilidad de usar el emulador android en procesadores AMD anteriormente esto era posible pero el redimiento no estaba a la altura, haciendo uso de la API de virtualizacion de Windows 10 podemos acelarar la ejecución del emulador y trabajar mucho mejor sin la necesidad de tener una CPU Intel.

Temas relacionados