martes, 12 de febrero de 2013

Laboratorio 2: Infographics

En esta ocasión mostrare un infographic sobre los protocolos álambricos

Aquí el infographic:
meals title=
easel.ly

Tarea1 Convolucion

En esta ocasión nos toco ingeniar una manera para sacar bordes de una figura en una imagen con un método muy sencillo. 

Aquí la imagen con la que estamos trabajando. 



El primer paso es convertirlo a escala de grises aquí la imagen:



Después es pasarla por un filtro:


notese como la imagen se vuelve un poco borrosa

Después se le realiza el método para sacar los bordes llamado convolución.
La convolución consiste en poner una mascara "especial" creada por alguien para poder sacar los diferentes cambios de los pixeles vecinos tanto vertical como horizontal. Esta matriz se sobrepone a la imagen filtrada, y luego se va multiplicando los pixeles y los valores de las matrices adecuadamente para sacar los gradientes x e y. Ya teniendo esto se puede usar la formula para combinar los gradientes "x" e "y".

Aquí los resultados

Y al final una binarización:


Estos son los tiempos arrojados por esta imagen cabe destacar que esta imagen es demasiado pesada ademas de que mi computadora es un chatarra para realizar cosas de este tipo. Aquí los tiempos:


Probemos otras imágenes:


Escala de grises

Filtrado

Convolucion

Binarización

Aquí podemos notar que en esta imagen se tardo menos ya que es una imagen de menor dimensión que con lo que estamos trabajando:



Codigo:



martes, 5 de febrero de 2013

Laboratorio: Estándares

Estándares de resolución de pantallas


Una pantalla (o monitor) es una unidad de visualización de un equipo. Por lo general se dice que existen dos familias de pantallas:
Pantallas de rayos catódicos (abreviado CRT), utilizadas en la mayoría de los equipos de escritorio. Son pesadas y voluminosas, y por lo general, consumen mucha energía.

Los monitores de pantalla plana se usan en la mayoría de los ordenadores portátiles, smartphones y cámaras digitales y, cada vez más, en equipos de escritorio. Estas pantallas son más delgadas (de allí su nombre), livianas y consumen menos energía.


Especificaciones técnicas
Las especificaciones más comunes para las pantallas son las siguientes:
  • Definición: el número de píxeles que puede mostrar la pantalla. Este número generalmente se encuentra entre 640 x 480 (640 píxeles de largo, 480 píxeles de ancho) y 2048 x 1536, pero debemos aclarar que las resoluciones más altas son técnicamente posibles. La siguiente tabla proporciona las definiciones recomendadas según el tamaño de la diagonal de la pantalla:

DiagonalDefinición
15800 x 600
171024 x 768
191280 x 1024
211600 x 1200

  • El tamaño: se calcula al medir la diagonal de la pantalla y se expresa en pulgadas (una pulgada equivale aproximadamente a 2,54 cm). Tenga cuidado de no confundir la definición de una pantalla con su tamaño. Después de todo, una pantalla de un tamaño determinado puede mostrar diferentes definiciones, aunque en general las pantallas que son más grandes en tamaño poseen una definición más alta. Los tamaños estándares de la pantalla son los siguientes (ésta es una lista breve):
  • 14 pulgadas, una diagonal de aproximadamente 36 cm;
  • 15 pulgadas, una diagonal de aproximadamente 38 cm;
  • 17 pulgadas, una diagonal de aproximadamente 43 cm;
  • 19 pulgadas, una diagonal de aproximadamente 48 cm;
  • 21 pulgadas, una diagonal de aproximadamente 53 cm;
  • El tamaño de punto: es la distancia entre dos fósforos; cuanto más pequeña, más precisa es la imagen. Un tamaño de punto igual o inferior a 0,25 mm será más cómodo de utilizar, mientras que se recomienda evitar las pantallas con un tamaño de punto igual o superior a 0,28 mm.
  • La resolución: determina el número de píxeles por unidad de superficie (expresados en pulgadas lineales). Se abrevia DPI que significaPuntos por pulgada. Una resolución de 300 dpi significa 300 columnas y 300 filas de píxeles por pulgada cuadrada, lo cual significa que hay 90.000 píxeles por pulgada cuadrada. En comparación, una resolución de 72 dpi significa que un píxel es 1"/72 (una pulgada dividida por 72) o 0,353 mm, lo que corresponde a una pica (una unidad tipográfica).


Modos gráficos
Se denomina modo gráfico a la manera en que se muestra la información en la pantalla, en términos de definición y cantidad de colores. Representa de esta manera, la capacidad de la tarjeta gráfica para administrar detalles o bien, la capacidad de la pantalla para mostrarlos.

MDA


El MDA (Monochrome Display Adapter [adaptador de pantalla monocromático]), que apareció en 1981, representa el modo de visualización para las pantallas monocromáticas, que permitían mostrar texto en 80 columnas y 25 filas. Este modo permitía mostrar solamente caracteres ASCII.

CGA


El modo CGA (Color Graphic Adapter [adaptador de gráficos en color]) apareció en 1981, poco después del MDA, con la llegada de la PC (equipo personal). Este modo gráfico incluía:
visualización en modo texto mejorado, capacitado para mostrar caracteres en 4 colores
visualización en modo gráfico que permitía mostrar píxeles en 4 colores con una resolución de 320 píxeles por 200 píxeles (320 x 200)

EGA


El modo EGA (Enhanced Graphic Adapter [adaptador gráfico mejorado]) se lanzó a comienzos de 1985. Permitía mostrar 16 colores con una resolución de 640 por 350 píxeles (640 x 350), gráficos mucho más refinados que los que eran posibles en el modo CGA.

VGA

El modo VGA (Video Graphics Array [adaptador de gráficos de video]) apareció en el año 1987. Ofrecía una resolución de 720 x 400 en modo texto y una resolución de 640 por 480 (640 x 480) en el modo gráfico de 16 colores. También permitía mostrar 256 colores con una definición de 320 x 200 (un modo también conocido como MCGA que significa a su vez matriz gráfica multicolor). El VGA se convirtió rápidamente en el modo de visualización mínimo de referencia de los PC.

XGA

En 1990, IBM presentó el XGA (eXtended Graphics Array [matriz de gráficos extendida]). La versión 2 de este modo de visualización, llamado XGA-2, ofrecía una resolución de 800 x 600 en 16 millones de colores y 1024 x 768 en 65536 colores.

SVGA

El SVGA (Super Video Graphics Array [súper adaptador gráfico de video]) es un modo gráfico que permite mostrar 256 colores en resoluciones de 640 x 200, 640 x 350 y 640 x 480. El SVGA permite a la vez mostrar definiciones más altas, tales como 800 x 600 ó 1024 x 768 debido a que utiliza menos colores.

VESA


Para resolver la falta de estandarización en modos gráficos, se creó un grupo de importantes fabricantes de tarjetas gráficas (la VESA, Asociación para estándares electrónicos y de video) para desarrollar estándares gráficos.

SXGA
El estándar SXGA (Super eXtended Graphics Array [súper matriz de gráficos extendida]), definido por la corporación VESA, hace referencia a la resolución de 1280 x 1024 con 16 millones de colores. Este modo se caracteriza por un formato de pantalla de 5:4, a diferencia de otros modos (VGA, SVGA, XGA, UXGA).

En esta tabla muestro estándares faltantes:


Conclusion
La cantidad de estándares en esta ocasión, puede decirse que tiene buenas razones por las que debe de haber mucho, en mi opinion es que como cada maquina o computadora tiene su limitante es necesario instalarle algo con la cual trabaje perfectamente y no aplicarle algo que la pueda hacer lenta.
Además con el avance de las tecnologías algunas se han ido olvidando o mejorando para dar una mayor satisfacción.
Entonces todos estos estándares se hacen por necesidad de la maquina en lugar de competir entre ellas.

jueves, 24 de enero de 2013

Extra points: Problem

In this time for this entry, will solve the problem 1.5.2 of the book Introduction to Information Theory and Data Compression.

The problem here:

2. In eight tosses of a fair coin, find the probability that heads will come up
(a) exactly three times;
(b) at least three times;
(c) at most three times.

Answers:

A)
To solve this part i used next formula:


Where:
  • "k" is the number of hits.
  • "n" is the number of trials.
  • "p" is the probability of success
now resolve:

and the result is: 0.875


B)
To solve this part i used next formula


Where:
  • "k" is the number of hits.
  • "n" is the number of trials.
  • "p" is the probability of succes
  • "u" is the exactly k succes (sigma)

now resolve:

=


=



and the result is: 2.2226

C)
To resolve this part i used the next formula:

 Where:
  • P is probability of the event,
  • C (n, k) are combinations of k elements from n elements a total
  • p is the probability of success and q = (1-p) the probability of failure
  • n number of times to repeat the individual case
  • k number of successes
now resolve:

and the result is:1/256




martes, 22 de enero de 2013

Clase: RFC 768

Introduccion:
User Datagram Protocol (UDP) es un protocolo del nivel de transporte basado en el intercambio de datagramas (Encapsulado de capa 4 Modelo OSI). Permite el envío de datagramas a través de la red sin que se haya establecido previamente una conexión, ya que el propio datagrama incorpora suficiente información de direccionamiento en su cabecera.
 

Tampoco tiene confirmación ni control de flujo, por lo que los paquetes pueden adelantarse unos a otros; y tampoco se sabe si ha llegado correctamente, ya que no hay confirmación de entrega o recepción. Su uso principal es para protocolos como DHCP, BOOTP, DNS y demás protocolos en los que el intercambio de paquetes de la conexión/desconexión son mayores, o no son rentables con respecto a la información transmitida, así como para la transmisión de audio y vídeo en tiempo real, donde no es posible realizar retransmisiones por los estrictos requisitos de retardo que se tiene en estos casos.

 
Características del protocolo UDP
El protocolo UDP (Protocolo de datagrama de usuario) es un protocolo no orientado a conexión de la capa de transporte del modelo TCP/IP. Este protocolo es muy simple ya que no proporciona detección de errores (no es un protocolo orientado a conexión).

Por lo tanto, el encabezado del segmento UDP es muy simple:

Significado de los diferentes campos
  • Puerto de origen: es el número de puerto relacionado con la aplicación del remitente del segmento UDP. Este campo representa una dirección de respuesta para el destinatario. Por lo tanto, este campo es opcional. Esto significa que si el puerto de origen no está especificado, los 16 bits de este campo se pondrán en cero. En este caso, el destinatario no podrá responder (lo cual no es estrictamente necesario, en particular para mensajes unidireccionales).
  • Puerto de destino: este campo contiene el puerto correspondiente a la aplicación del equipo receptor al que se envía.
  • Longitud: este campo especifica la longitud total del segmento, con el encabezado incluido. Sin embargo, el encabezado tiene una longitud de 4 x 16 bits (que es 8 x 8 bits), por lo tanto la longitud del campo es necesariamente superior o igual a 8 bytes.
  • Suma de comprobación: es una suma de comprobación realizada de manera tal que permita controlar la integridad del segmento.

Interfaz IP 

El módulo UDP debe ser capaz de determinar las direcciones de origen y destino en un entorno internet así como el campo de protocolo de la cabecera del protocolo internet. Una posible interfaz UDP/IP devolvería el datagrama de internet completo, incluyendo toda la cabecera, en respuesta a una operación de recepción. Un interfaz de este tipo permitiría también al módulo UDP pasar un datagrama de internet completo con cabecera al módulo IP para ser enviado. IP verificaría ciertos campos por consistencia y calcularía la suma de control de la cabecera del protocolo internet.

Aplicación del Protocolo 

Entre las aplicaciones que utiliza UDP se incluyen:
  • Sistema de nombres de dominio (DNS)
  • Streaming de vídeo, es sin estado, apto para un gran número de clientes, por ejemplo, IPTV
  • Voz sobre IP (VoIP)
  • Es simple, adecuado para fines de bootstrapping o de otro sin una pila de protocolo completa, como el DHCP y el Protocolo Trivial de Transferencia de Archivos.
  • Funciona bien en la comunicación unidireccional, adecuado para la información de difusión, como en muchas clases de descubrimiento de servicios y la información compartida, como tiempo de emisión o del Protocolo de información de enrutamiento 
Conclusión
En mi opinión los protocolos de transporte están diseñados para funciones especificas, es decir, no hay uno mejor que otro si no que cada uno es empleado para distintas aplicaciones por ejemplo el protocolo udp es bastante usado en las comunicaciones de video-llamadas o video-conferencias ya que no importa que no sea orientado a coneccion, no importa que se pierdan datos durante la transmision, que los datos transmitidos tengan un numero de secuencia ya que para este tipo de aplicaciones no es tan relevante que los datos transmitidos lleguen siempre a su destino.
En este tipo de aplicaciones lo peor que puede pasar si se pierden datos es que la comunicación se entrecorte como voces robotizadas o congelamiento de las imágenes


 
BIBLIOGRAFIAS:
http://es.kioskea.net/contents/internet/udp.php3
http://www.rfc-es.org/rfc/rfc0768-es.txt 

Laboratorio 1: Escala de grises, umbral y filtro

Esta actividad consistió en realizar un programa, el cual al proporcionarle una imagen convertirla a escala de grises, también determinar umbrales para que los píxeles menores y mayores a esos rangos fueran cambiados a blancos y negros; y por último aplicar filtros a la imagen para que se distorsione.

La imagen que se utilizo es la siguiente:


Ahora veremos como se ve esta imagen con nuestro código

Aquí con escala de grises, esto se hizo tomando los píxeles y promediando su RGB y sustituyendo en los píxeles, para así sacar el color que se muestra en la imagen


Ahora vemos los umbrales, en esto se dieron dos variables globales, los umbrales negro y blanco con esto solo comparamos los píxeles en RGB y si es menor que "122" entonces el píxel se pinta negro y si es mayor que "130" se pintan de color blanco, a continuación la imagen


Juguemos con los valores globales:

100 negro
200 blanco

200 negro
100 blanco

30 negro
50 blanco


Ahora veremos un tipo de filtro donde se toman los píxeles vecinos de arriba, abajo, izquierda y derecha de pendiendo del píxel donde se tome en el dado caso en que se encuentra en una esquina solo se tomaran los píxeles de la izquierda y abajo(hablando de la esquina superior derecha), esto también se hace promediando el RGB. Aquí la imagen:


Cada función esta dada por una tecla, ya que me fallo al realizar los botones pero en proximas entrgas estaran en funcionamiento.

Para realizar el escala de grises oprimes la flecha derecha.
Para realizar el umbral oprimes la flecha izaquierda.
Para realizar el filtro oprimes la flecha arriba.

Aquí mi Repositorio

Vision computacional para asistencia en conduccion

Introducción:

La seguridad vial es un tema clave en la tecnología automotriz actual, y es un tema de investigación porque implica aspectos tanto humanos como económicos. Sus dos objetivos principales, de hecho, son la mejora de la movilidad, ayudando a los conductores y reduciendo los costos de transporte por cuidadosamente la explotación de la red de carreteras y de la optimización de combustible y el consumo de energía.


Los sistemas para la asistencia en conducción de automóviles están siendo examinados e investigados como la solución más importante para el problema de la movilidad.

Acciones que puede realizar.

Estos dispositivos también pueden proporcionar conducción vehicular automática, es decir, la automatización de una o más tareas de conducción, tales como:
  • Siguiendo el camino y mantenerse en el carril de la derecha.
  • Mantener una distancia de seguridad entre vehículos.
  • Regulación de la velocidad de la vehcle de acuerdo a las condiciones del tráfico y las características de la carretera.
  • Moviéndose a través de los carriles para rebasar vehículos y evitar los obstáculos.
  • Encontrar la ruta más corta y correcta a un destino.



Que se necesitaria?

Visión computacional es muy complejo y muy exigentes, pero puede ofrecer una gran cantidad de información, marcándolo un poderoso medio para detectar el medio ambiente.

El cumplimiento de las tareas antes mencionadas se necesita la medida de magnitudes diferentes, o el reconocimiento de patrones antes del cierre del bucle de control. Estos incluyen subtareas

  • Determinar la posición relativa en el carril del vehículo y la comprobación de obstáculos en el camino o carretera.
  • Reconocer características específicas del vehículo y calcular el tiempo de impacto.
  • Detección de carriles múltiples y obstáculos de detección (por adelantamiento de vehículos y evitar colisiones)
  • Midiendo la distancia entre los vehículos estacionados (para el estacionamiento automático)
  • Determinar la posición y siguiendo el movimiento de los ojos del conductor y la cabeza (para la supervisión de estado de controlador). 


Conclusión
Este es un buen tema que se tiene pensado hacer en un 60% pero mas adelante veremos si seguimos con este tema ya observando lo que ocurre en las clases posteriores.