B X T Benjamín Cruz Torres Programación Avanzada Proyecto Final Filtrado de una Imagen a través...

Preview:

Citation preview

BXTBenjamín Cruz Torres

Programación AvanzadaProyecto Final

Filtrado de una Imagen a través de un Microcontrolador

http://www.geocities.com/bslayer5

BXTDiagrama a Bloques

PC Microcontrolador

Imagen Original

Imagen Filtrada

BXTPrograma en C++

Config. Serial

PIC Listo?

EnviarOrden

PrepararImagen

FiltroInverso?

For i=1 hasta tam

Enviar bit i

Recibir bit i

Si

No

tam=tam-2

Enviar bit 1

Enviar bit 2

GuardarImagen

Fin

BXTPrograma en MpLab

Config. Serial

RecibirOrden

FiltroInverso?

For i=1 Hasta Fil

RecibirDato

EnviarDato

Si

No

RecibirDato1

RecibirDato2

Fin

PIC Listo

Recibir Fil y Col

For j=1 Hasta Col

255 - Dato

For i=1 Hasta Fil

RecibirDato

EnviarDato

For j=1 Hasta Col

Derivada

Derivada: (Dato2 * 2) – Dato1 – Dato3

BXTComplejidad del Algoritmo en C++

• a) La Configuración del Puerto y la Carga de la imagen se realiza en un tiempo lineal.

• b) Esperar a que el PIC esté listo se tarada a lo mucho "m" veces. • c) Enviar la Orden, el Acho y alto en píxeles se lleva un tiempo lineal. • d) Preparar la imagen también toma un tiempo lineal • e) En el caso de filtro inverso debe hacer este proceso "k" veces. • f) En el caso de filtro Derivada se debe hacer este proceso "l" veces. • g) Enviar y Guardar el bit en la imagen nueva se hace en un tiempo lineal. • h) Ingresar la misma información de la Imagen toma tiempo lineal.

El tiempo tomado es K+m+l+C, es decir es de Orden "n" O(n).

BXTComplejidad del Algoritmo en MpLab

• a) La Configuración del Puerto se realiza en un tiempo lineal. • b) Avisar que esta listo, Recibir la Orden y el Tamaño se lleva un

tiempo n. • c) Revisar que filtro es, tarda un tiempo lineal. • d) En el caso de filtro inverso debe hacer este proceso "n*n" veces. • e) En el caso de filtro Derivada se debe hacer este proceso "l*l"

veces. • f) Aplicar cualquier filtro y hacer refrescado de variables <toma un

tiempo lineal.

El tiempo tomado es n*n+l*l+C, es decir es de Orden "n*n" O(n*n).

BXTResultados

Original Inverso Derivada Ambos

Original Inverso

Derivada

Ambos

BXTGracias por su Atención

Benjamín Cruz Torres

benji_slayer@hotmail.com

"El futuro no es algo que debas ver, es algo de

debes crear"