jueves, 14 de febrero de 2013

Laboratorio 2: Sal y pimienta, norma

En esta ocasión se pondrá un tipo de ruido a las imagenes llamado "sal y pimienta" esto consiste en ponerle a la imagen puntos de color negro y blanco.

Bien la imagen con la que se esta trabajando es la siguiente:



Ahora aplicaremos sal y pimienta a la imagen:


Los resultados fueron un éxito :D


Este es uno de los resultados que conseguí cuando estaba intentando quitar la sal y pimienta.  (De las pocas veces que me compilo)


Para quitar la sal y pimienta lamentablemente no se pudo hacer por que siempre me arrojaba errores de que se salia la imagen pero estoy trabajando para poder realizarlo.


Normalización
Este es el resultado de restar la imagen escala de grises por la imagen difusa.



Ahora binarizamos la imagen y este es el resultado.
Practicamente no hubo mucho cambio.

Aquí el código:

Homework 1: Word transmiter

Hi! fot this first homework I had to make a python program that generates words, the main idea is that the program determinates the percentage of success that a word is transmitted with correctly. The words are binary.

The parameters of the program are:
- Word length
- Frequemcy of zeros
- Percentage of correct zeros
- Percentage of correct ones 
- Iterations

The scrip of bash just take the values that are in the code and send a the script of python then take the results of python and save in the resultados.txt ready to plot with script gnuplot

The script of gnuplot just plot the values that we send

Here the scripts, there are in this order:
  • awk
  • gnuplot
  • bash
  • python  

Here a part of resultados.txt:
the order is:
- Word length
- Percentage of correct zeros
- Percentage of correct ones
- success

Here the result: this result is not that i want

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