Entradas

Mostrando las entradas etiquetadas como C#

Binarización de una imagen - C#

Imagen
¿Qué es la binarización de una imagen? La binarización consiste en una reducción de información en la que los únicos valores posibles son verdadero y falso (1 y 0). En caso de una imagen digital los valores verdadero y falso se corresponden a dos colores: blanco y negro. ¿Para qué sirve la binarización? La binarización es utilizada en el análisis de imágenes, mediante esta técnica se pueden separar objetos o regiones, que nos pueden interesar, del resto de la imagen. Es decir, que se puede separar el fondo de la imagen de la imagen de los objetos que deseamos analizar. ¿En qué consiste el proceso de binarización ? En el proceso de binarización de una imagen se utiliza normalmente un umbral de la escala de grises  para conocer qué es blanco y qué es negro. Las imágenes por lo general no se encuentran en una escala de grises, por lo que se debe calcular la tonalidad de gris durante el proceso. También se pueden especificar umbrales en base a otra tonalidades, si estamos buscando...

Google Maps - Windows Form 3

Imagen
Continuando las entradas acerca de Google Maps (Javascript API V3) y Windows Forms, en esta ocasión veremos la forma de cargar marcadores en nuestro mapa en diferentes puntos. Ya sean diferentes puntos a partir de una lista de direcciones o diferentes puntos a partir de una lista de coordenadas. Direcciones Para comenzar nos basaremos en la técnica empleada en la primera entrada acerca de GMaps y Windows Forms para mostrar una sola dirección el mapa. Aunque en este caso, la diferencia consistirá en que en la etiqueta "[[ADDRESS]]" se reemplazará por un array de direcciones y en Javascript recorreremos este array para mostrar todas las direcciones. Esto se vería de la siguiente forma: A continuación, en el código de nuestro Windows Forms debemos generar un string con el que sustituir la etiqueta de HTML por nuestro array correctamente formado. Esto se realiza de la siguiente forma: const string txtAddr = "[[ADDRESS]]"; private void botCargar...

SDK Kinect for Dummies-2

Imagen
Después de un tiempo he decidido continuar con las entradas del SDK de Kinect. En la primera entrada veíamos como mostrar la cámara RGB . También podemos ver una charla de introducción al Kinect SDK . En esta ocasión explicaré paso a paso como mostrar el DepthStream . Veremos dos formas de pintar nuestro DepthStream. En el primer caso pintaremos directamente la intensidad y en el segundo caso al detectar un usuario pintaremos su silueta de un color. Antes de comenzar vamos a ver las fórmulas para obtener la distancia y el índice del usuario: - Distancia:  int depth = depthPoint >> DepthImageFrame .PlayerIndexBitmaskWidth ; - Usuario/jugador:  int player = depthPoint & DepthImageFrame .PlayerIndexBitmask ; En el caso del usuario debemos saber que hay que habilitar el SkeletonStream, aunque aún no hablemos de Skeleton. Pintar DepthStream : Comenzaremos como en la anterior entrada buscando nuestro sensor Kinect. En este caso lo real...

Marca de Agua

Objetivo Para esta entrada se marcan dos objetivos diferentes con las marcas de agua: -    Se desea conseguir, en función a una imagen origen, una imagen destino con una marca de agua que será otra imagen.    -    Se desea conseguir, en función de una imagen origen, una imagen destino con una marca de agua al pie que será un texto. Por ejemplo el Copyright. Marca de Agua con Imagen Esta marca de agua estará creada por otra imagen. Es decir, se fusionarán 2 imágenes diferentes en 1. Para conseguirlo habrá que aprovechar el GDI de .NET, las librerías gráficas de las que dispone .NET. Con este ejemplo, la marca de agua resultante estará centrada. Librerías -     System.Drawing; -     System.Drawing.Imaging; -     System.Drawing.Drawing2D; Clases -    Image: Funciones y propiedades de imágenes (abrir, guardar, etc) - ...

SDK Kinect for Dummies-1

Imagen
Todos conocemos Kinect, unos lo habréis probado en casa de algún amigo, otros solo lo habéis visto en la tele. Sea como sea Kinect nos puede servir como herramienta de desarrollo y de investigación o simplemente como entretenimiento. Al poco de aparecer Kinect hubo un SDK no oficial para poder emplear Kinect en nuestros PCs. Pasado un tiempo Microsoft lanzó el SDK de Kinect para Windows. Pero en los detalles de hardware o como ha ido evolucionando Kinect no es en lo que me fijaré en el blog. Intentaré orientarme más a la programación. Ahora viene mi opinión. Pues bien me he puesto con el SDK de Kinect y me gusta. He estado haciendo cosillas con el reconocimiento de voz aunque de momento no tengo material para subir ninguna entrada. Por otra parte como primer paso con el SDK de Kinect veremos como pintar lo que muestra la cámara. Es decir, tan solo la cámara sin Skeleton ni nada por el estilo.  Necesitamos: - Visual Studio: versión Express o si somos estudiantes desde ...

XNA - Introducción

Imagen
Me gustaría comenzar una serie de entradas acerca de XNA. Microsoft XNA son un conjunto de herramientas que nos ayudan al desarrollo de juegos. Los juegos que podemos desarrollar son: Windows Game,  XBOX y Windows Phone. Las entradas dedicadas a XNA serán un pequeño tutorial para iniciarnos con XNA. La versión que emplearé en estos tutotiales es XNA 4.0. Para emplear esta versión es necesario tener Visual Studio 2010. En caso de ser estudiantes podemos conseguir la versión de Visual Studio 2010 Proffesional y XNA 4.0 podemos descargarlo de https://www.dreamspark.com/ . En caso de no ser estudiante o que nuestro centro no tenga licencias podemos descargar gratuitamente: Visual C# Express y XNA 4.0 . Más información aparte de la que podemos encontrar desde la página de Microsoft. En esta primera entrada veremos como crear el proyecto y sus diferentes partes. Una vez que tenemos todo instalado comenzaremos a crear un proyecto. Para esto ' Archivo>Nuevo>Proyecto '....

Google Maps - Windows Form Parte 2

Imagen
En una primera parte de Google Map - Windows Form vimos como introducir un mapa de Google Maps en nuestra aplicación mediante el objeto navegador. Lo siguiente que veremos en esta segunda parte será como obtener datos acerca del mapa leído. Para ser más exactos en este ejemplo obtendremos las coordenadas de la dirección introducida mediante un botón. Partiremos de la aplicación creada en la primera parte para nuestro propósito. Inicialmente modificaremos el código html añadiendo en el cuerpo del documentos dos inputs de tipo oculto. Por ejemplo yo he añadido:   <input type="hidden" id="latitud" />   <input type="hidden" id="longitud" /> En estos campos ocultos almacenaremos las coordenadas obtenidas mediante la API de Google Maps. Para conseguir almacenar estos datos deberemos ir a la función "verDireccion" del código Javascript. En este método añadiremos después de colocar la marca lo siguiente: document.getEle...

Google Maps - Windows Form

Imagen
Esta entrada está dedicada a .NET. Para las entradas de .NET las realizaré con Visual Studio 2010 en C#.  En esta entrada realizaremos una aplicación Windows que incluya lo que hemos realizado hasta ahora de Google Maps . Es decir una aplicación de ventana con un navegador embebido que nos muestre nuestro mapa. Primero mostrare como realizarlo de la manera más sencilla y posteriormente veremos cómo modificar el html desde nuestro código. Para comenzar en la forma sencilla explicaré los pasos a realizar sin necesidad de pararnos a ver código. Primero crearemos un nuevo proyecto de ' Aplicación de Windows Forms'. Para comenzar en el diseñador del formulario agregaremos un control llamado " WebBrowser ". El siguiente paso es agregar el html a nuestra solución. Basta con copiar el fichero a nuestra solución. Lo siguiente que debemos hacer es a la hora de cargar el formulario o si queremos que se cargue al pulsar un boton etc en el evento Click del botón. El control ...