You are on page 1of 0

INSTITUTO POLITCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA.



SECCIN DE ESTUDIOS DE POSGRADO E INVESTIGACIN.

UNIDAD CULHUACAN.







RECONOCIMIENTO DE PLACAS
VEHICULARES





T E S I S
QUE PARA OBTENER EL GRADO ACADMICO DE
MAESTRO EN CIENCIAS DE INGENIERA EN
MICROELECTRNICA PRESENTA:
ING. JOSE LUIS DELGADO MONTIEL



DIRECTOR DE TESIS: DR. HECTOR MANUEL PEREZ MEANA
DR. GABRIEL SANCHEZ PEREZ



MXICO, D.F. DICIEMBRE 2010


















A GRA DECI MI ENT OS




Al Instituto Politcnico Nacional (IPN) por mi formacin acadmica en mis estudios de licenciatura y
posgrado.

Al Consejo Nacional de Ciencia y Tecnologa (CONACYT) por el apoyo econmico brindado durante la
elaboracin del presente trabajo.

Al Programa Institucional de Formacin de Investigadores (PIFI) por el apoyo econmico proporcionado
en la elaboracin del presente trabajo.

Al Dr. Hctor Manuel Prez Meana y al Dr. Gabriel Snchez Prez, por su asesora, conocimiento y
dedicacin brindada durante la elaboracin del presente trabajo.

A mi esposa y mi hijo por su apoyo, su tolerancia, su paciencia y comprensin durante todo el desarrollo
del trabajo presente.

A mis padres, a mis hermanos y hermanas, por su apoyo durante el desarrollo del trabajo presente.

A mis amigos y amigas por su apoyo y consejos brindados durante el desarrollo del trabajo presente.

A dios que me permiti cumplir con este sueo de mi vida, que me brindo salud y bien estar,
conocimiento y entendimiento para culminar el desarrollo del presente trabajo.






































RES UMEN

En los ltimos aos el flujo de vehculos en la ciudad de Mxico ha crecido de manera impresionante de
tal forma que ha representado la necesidad de tener un control estadstico, de tener mucha ms
seguridad pblica, ms control de velocidad, ha representado tambin un mayor ndice en la
entrada/salida de estacionamientos y de casetas de cobro. La rama de la computacin ha seguido
desarrollndose, habindose incorporado en casi todas las reas. El procesamiento digital de imgenes
ha permitido evolucionar varias ramas debido a su manejo y tratamiento de imgenes, permitiendo
tener una mejor apreciacin sobre una imagen determinada, y de esta forma tener un mejor anlisis y
diagnostico sobre un objetivo en particular. Una de las tcnicas implementadas en el presente proyecto
es el procesamiento digital de imgenes. La adquisicin de la imagen del vehculo es el inicio para
realizar una serie de tratamientos de la imagen y de esta forma definir un proceso parametrizable a la
resolucin de las imgenes y obtener vectores caractersticos que puedan ser clave para utilizar un
algoritmo de entrenamiento y reconocimiento de patrones.

El procesamiento digital de imgenes es el conjunto de tcnicas que se aplican a las imgenes digitales
con el objetivo de mejorar la calidad o facilitar la bsqueda de informacin. Para cuando una imagen
digital presenta ruido en su integridad se realiza un proceso de filtrado, el cual es un conjunto de
tcnicas englobadas dentro del pre-procesamiento de imgenes cuyo objetivo fundamental es obtener, a
partir de una imagen origen, otra final cuyo resultado sea ms adecuado para una aplicacin especifica
mejorando ciertas caractersticas de la misma que posibilite efectuar operaciones del procesado sobre
ella.

En la presente Tesis se propone un sistema que parte desde la adquisicin de una imagen digital en
formato RGB (del ingls Red Green Blue) para despus realizar la conversin a escala de grises y el
anlisis de frecuencia en la imagen para determinar la localizacin de la placa vehicular, y
posteriormente iniciar con la conversin a blancos y negros (binarizacin) que es cuando ya se tiene una
imagen digital en un solo plano. Cuando la imagen se encuentra binarizada se realiza el procesos de
segmentacin, despus se procede a realizar el filtrado y reconstruccin de caracteres (previniendo que
pudiera existir ruido y/o desgaste en los caracteres), una vez que se cuenta el carcter ha mejorado en
su calidad se procede a realizar la segmentacin, esto se logra obteniendo el promedio del numero de
pixeles negros que pueda contener alguna de las diecisis ventanas en las que se divide el carcter.
Aunque el sistema propuesto est enfocado a las placas de los vehculos de la ciudad de Mxico, este
puede ser empleado con placas de otro estado o pas. Las placas estn constituidas por seis caracteres y
monumento o columna de la independencia como fondo de la placa, los primeros tres caracteres son
nmeros, los ltimos tres caracteres son letras, los nmeros que se emplean son del cero a nueve, las
letras que se usan son de la A-H, de la J-N, la P y de la R-Z.



Los resultados experimentales obtenidos en condiciones reales de operacin muestran que el sistema
propuesto presenta un acierto del 99.84% con caracteres que se usaron en el proceso de entrenamiento
y un 98.78% con caracteres que no fueron utilizados en el proceso de entrenamiento.



















A B S T RA CT

During the last years the vehicle flow in the Mexico city has grown dramatically in such way that it
requires an statistical control to have a much more public security and vehicle speed control. It has also
represented a higher entrance / exit index of the parking lots and toll gates. The computer industry has
also experience a continuous to growing, that has allowed its incorporation into almost all areas. The
digital image processing has contributed to the evolution of several branches due to their management
and treatment images, allowing a better assessment of an image determined, and thus a better analysis
and diagnosis on a particular purpose. One of the techniques implemented in this thesis is the digital
image processing. The image acquisition of the vehicle is starting to make a series of image processing
and thus to define a process customizable to the images resolution and obtaining vectors characteristic
that may be key for using a training algorithm and pattern recognition techniques.

The digital image processing is a set of techniques applied to digital images in order to improve quality
or facilitate the information search. When a digital image is noisy a filtering process is performed, which
is a set of techniques encompassed within the pre-processing of images whose primary objective is to
obtain a less distorted image from an image source, which results in a more appropriate image for a
specific application improving certain image characteristics. This allows them to carry out the some
feature extraction operations on it useful for plate number recognition.

In this thesis proposes a system that starts from the acquisition of a digital image in RGB (Red Green
Blue English) and then convert to grayscale and frequency analysis image to determine the location
of license plate. Then to start with black and white conversion (binarization) that is when the system
already have a digital image on a single plane. When the image is binarized is performed segmentation
processes, then proceeds to perform the filtering and reconstruction of characters (which might be
preventing noise and / or wear on the characters), once the character quality has been improved
appropriate to the segmentation, this is achieved by averaging the number of black pixels that can
contain any of the sixteen windows in which the character is divided. Although the proposed system is
aimed at the license plates of vehicles in Mexico City, this can be used with plates from another state or
country. The plates consist of six characters long column or independence monument as the bottom of
the plate, the first three characters are numbers, the last three characters are letters, numbers used are
from zero to nine, the letters are used are of the A-H, of J-N, the P and R-Z.

The experimental results obtained in real operating conditions show that the proposed system a success
of 99.84% with characters that are used in the process of training and 98.78% with characters that were
not used in the training process.























P REF A C I O



Actualmente el procesamiento digital permite realizar anlisis sobre cualquier tipo de informacin
incluyendo el de las imgenes digitales. Los avances tecnolgicos y las tcnicas de procesamiento de
imgenes que se han desarrollado en los ltimos aos permiten tener flexibilidad para brindar soluciones
viables a diversos problemas prcticos.

Realizando un anlisis de los flujos vehiculares que cada vez ms van en aumento en casi todas las
zonas de la ciudad de Mxico, estas han incrementado aumentando los accesos de vehculos a puntos de
cobro, como estacionamientos, centros comerciales, cobro de casetas, entre otros; as como el robo
vehicular, el exceso de velocidad, etc. En una ciudad muy transitada es indispensable el monitoreo de
los flujos vehiculares para tener un control estadstico sobre las zonas ms transitadas. Por ello surge la
idea de implementar un sistema de reconocimiento de placas vehiculares que permita solventar las
problemticas antes mencionadas y que sirva para trabajos futuros que puedan proponer soluciones a
problemas muy especficos de algn otro estado de la republica mexicana.

Un sistema computacional para su funcionamiento debe tener disponibilidad, minimizar los tiempos de
respuesta, ser preciso, permitir fcil manejo al usuario as como el control operacional.

Los algoritmos desarrollados en el presente proyecto fueron evaluados con imgenes que se adquirieron
desde una cmara IP colocada en una pluma de estacionamiento, por lo que existe una gran posibilidad
de que este pueda aplicarse para cualquier acceso vehicular donde pueda instalarse una cmara
conectada a un equipo de computo.

Una de las grandes ventajas que presenta el sistema propuesto es que las imgenes se adquieren a
color (en formato JPG) considerndose adems la eliminacin del fondo de la placa vehicular; por lo que
el sistema puede aplicarse en todos los estados de la republica mexicana y otros diversos pases del
mundo, ya que presentan caractersticas similares. En la actualidad la mayora de las cmaras digitales
permiten la captura de imgenes en formato JPG, por lo que cada una de las imgenes de placas
vehiculares puede procesarse con los algoritmos propuestos ya que el funcionamiento parte de imgenes
en formato JPG.

Inicialmente se propone implementar el sistema para los vehculos de la ciudad de Mxico, y tambin
sirve como referencia para trabajos futuros ya que los algoritmos propuestos son flexibles de adaptar
para la nomenclatura de placas diferentes a la ciudad de Mxico. La ventaja que existe en las placas de


los vehculos de la republica mexicana es que las dimensiones de los caracteres son iguales, lo nico que
cambia es el fondo que estas puedan tener.

Las principales dificultades del reconocimiento de placas vehiculares son la variacin de condiciones de
luminancia provocadas por clima, inclinacin de la placa, variacin de posicin de placa, por el horario,
deterioro natural o suciedad de la placa entre otras. En el sistema propuesto se han considerado muchas
de estas variaciones para observarlas y obtener un mejor funcionamiento. Para la mayora de las
aplicaciones que el sistema propuesto pueda tener existe la ventaja que el vehculo estar totalmente
detenido al capturar la imagen.























C ONT ENI DO



C A P T U L O 1
Est ado del c onoc i mi ent o

I nt r oduc c i n 1
1.1 FUNDAMENTOS DE PROCESAMI ENTO DE
I MGENES 3
1.1.2 DEFI NI CI ONES 3
1.2 VI SI N POR COMPUTADORA 4
1.3 ESTADO DEL CONOCI MI ENTO EN EL
RECONOCI MI ENTO DE PLACAS VEHI CULARES
7
1.4 TI PO DE PLACA 7
1.5 MTODO DE LOCALI ZACI N DE LA PLACA
8
1.6 MTODO DE SEGMENTACI N DE LOS
SI MBOLOS 9
1.7 MTODO DE RECONOCI MI ENTO 10
CONCLUSI ONES 12
REFERENCI AS 12



C A P T U L O 2
Mar c o Ter i c o

I nt r oduc c i n 16
2.1 ADQUI SI CI N DE LA I MAGEN 17
2.2 REPRESENTACI ON DE LA I MAGEN 17
2.3 PROCESAMI ENTO DE I MAGEN 18
2.4 ANLI SI S Y MEJ ORAMI ENTO DE LA
I MAGEN 18
2.5 CLASI FI CACI N DE LA I MAGEN 19
2.6 ANTECEDENTES SOBRE EL
PROCESAMI ENTO DE I MGENES 19
2.7 FI LTRADO DE UNA I MAGEN 21
2.7.1 FI LTRO LI NEAL 21
2.7.2 FI LTRO PASA BAJ AS 21
2.7.3 FI LTRO MEDI ANO 22
2.8 TCNI CAS DE PROCESAMI ENTO DI GI TAL
DE I MGENES 22
2.8.1 BI NARI ZACI N DE I MGENES Y
UMBRALI ZACI ON 22
2.8.2 ETI QUETADO 24
2.8.2.1 VECI NDAD DE UN PI XEL 25
2.8.2.2 CONECTI VI DAD 25
2.8.3 ELI MACI ON DE RUI DO 26
2.8.3.1 TI POS DE RUI DO 26
2.8.4 METODOS DE ELI MI NACI ON DE RUI DO 30
2.8.5 PROCESAMI ENTO ESPACI AL 32
2.8.5.1 OPERACI ONES ARI TMTI CAS, LGI CAS
Y TRANSFORMACI ONES GEOMTRI CAS 32
2.9 REDES NEURONALES 32
2.9.1 CONCEPTO 33
2.9.2 ALGORI TMO RETROPROPAGACI N 34
CONCLUSI ONES 35
REFERENCI AS 35



C A P T U L O 3
Si st ema Base

I nt r oduc c i n 37
3.1 SI STEMA BASE 39
3.1.1 ADQUI SI CI N DE LA I MAGEN 39
3.1.2 CONVERSI N A ESCALA DE GRI SES 46
3.1.3 LOCALI ZACI N DE LA PLACA 48
3.1.3.1 CARACTER STI CA DE LA REGI N DE LA
PLACA 51
3.1.3.2 ALGORI TMO DE LOCALI ZACI N DE
PLACA 52
3.1.4 BI NARI ZACI N 57
3.1.5 SEGMENTACI N DE SI MBOLOS 59
3.1.5.1 ALGORI TMO PARA LA SEGMENTACI N
DE SI MBOLOS 60
3.1.6 ELI MI NACI N DE RUI DO 61
3.1.7 RESTAURACI N DE CARACTERES 63
3.2 CODI FI CACI N DE CARACTERES 65
3.3 ENTRENAMI ENTO 69
3.4 EVALUACI N 70
CONCLUSI ONES 70
REFERENCI AS 71



C A P T U L O 4
Resul t ados

I nt r oduc c i n 72
4.1 LOCALI ZACI N DE PLACA 73


4.1.1 RESULTADOS DE LOCALI ZACI N DE
PLACA CON I MGENES GI RADAS 74
4.1.2 RESULTADOS DE LOCALI ZACI N DE
PLACA CON I MGENES DE FRENTE 77
4.1.3 RESULTADOS DE LOCALI ZACI N DE
PLACA CON I MGENES CON DESGASTE
FI SI CO 80
4.1.4 RESULTADOS DE LOCALI ZACI N DE
PLACA CON I MGENES DE DI FERENTE
RESOLUCI N 82
4.1.5 RESULTADOS DE LOCALI ZACI N DE
PLACA CON I MGENES DE PLACAS ACTUALES
86
4.1.6 RESULTADOS DE LOCALI ZACI N DE
PLACA CON I MGENES FUERA DE LAS
CONDI CI ONES ACOTADAS 90
4.1.7 RESULTADOS DE LOCALI ZACI N DE
PLACA CON I MGENES EN MALAS
CONDI CI ONES 92
4.2 RESULTADOS DE BI NARI ZACI N Y
SEGMENTACI N DE CARACTERES 94
4.3 RESULTADOS DE ELI MI NACI N DE RUI DO
Y RESTAURACI N DE CARACTERES 96
4.4 RESULTADOS DE CODI FI CACI N Y
RECONOCI MI ENTO DE CARACTERES 100
4.5 TRABAJ O A FUTURO 109
CONCLUSI ONES 112
REFERENCI AS 112



C A P T U L O 5
Conc l usi ones general es 114

A N E X O A
I mgenes de pl ac as 116

A N E X O B
Cdi go f uent e 127











J US T I F I C A CI N



En los ltimos aos la ciudad de Mxico ah tenido un crecimiento ampliamente en la circulacin de
vehculos, anteriormente solo eran en zonas muy marcadas como el centro de la ciudad y las grandes
avenidas, ahora es en casi todas las zonas de la ciudad, por lo que ha aumentado el robo de vehculos,
el acceso a estacionamientos, a puntos de cobro as como el aumento del descontrol vehicular. Ante un
exceso de poblacin vehicular han surgido desarrollos y mecanismos para tratar de solventar algunos
problemas como el control de velocidad de vehculos mediante la captura de la placa vehicular, as como
el desarrollo de sistemas de consulta en lnea para obtener informacin acerca de multas por no cumplir
el reglamento de trnsito vehicular. Por ello surge la necesidad de realizar un sistema de reconocimiento
de placas vehiculares, que mediante el procesamiento de imgenes permita identificar los caracteres que
conforman la placa de un vehculo y a partir de ah puedan realizarse registros de cobros, bsquedas de
informacin u obtener datos estadsticos sobre el transito en la ciudad de Mxico.











OB J ET I V O



Desarrollar un algoritmo para la localizacin y reconocimiento automtico de placas vehiculares;
mediante el uso de diferentes tcnicas de procesamiento de imgenes y el uso de la red neuronal
artificial Backpropagation.










MET A S

Las metas que se llevaran a cabo en esta tesis:
(1) Revisin bibliogrfica sobre los algoritmos propuestos hasta el momento en materia de
localizacin y reconocimiento de placas vehiculares.
(2) Desarrollo de un algoritmo para la localizacin de la placa vehicular
(3) Desarrollo de un algoritmo para la binzarizacin de imgenes digitales
(4) Desarrollo de un algoritmo para la eliminacin de ruido
(5) Desarrollo de un algoritmo para la restauracin de caracteres
(6) Desarrollo de un algoritmo para la segmentacin de caracteres
(7) Desarrollo de un algoritmo para la codificaciones de caracteres
(8) Desarrollo de un algoritmo para el reconocimiento de caracteres
























ES T RUC TURA DE L A T ES I S


A travs de los siguientes captulos se ir desarrollando la base del presente trabajo. El primer captulo
es una revisin del estado del conocimiento sobre reconocimiento automtico de placas vehiculares. En
estado del conocimiento se realiza una mencin amplia de varias investigaciones realizadas hasta las
fecha sobre reconocimiento automtico de placas.

El capitulo dos est compuesto por el marco terico, se realiza una revisin sobre los aspectos tericos
necesarios para comprender cada uno de los aspectos de la tesis. El marco terico sustenta la definicin
de las diferentes tcnicas de procesamiento digital de imgenes que se utilizaron en varias etapas de
procesos en el sistema propuesto y las redes neuronales artificiales que se utilizaron para el
reconocimiento.

El tercer captulo contiene el detalle de cada uno de los elementos que conforman el sistema propuesto.
Se definen los diferentes procesos y subprocesos de los que est conformado el sistema propuesto.
Desde la adquisicin de la imagen, la localizacin de la placa, binarizacin, segmentacin, eliminacin de
ruido, restauracin de caracteres, codificacin y el reconocimiento de caracteres. En cada proceso se
proporcionan las imgenes que se obtienen con los algoritmos empleados en cada subproceso que
conforman los procesos principales del sistema propuesto.

El capitulo cuatro contiene un anlisis de los resultados obtenidos usando el sistema propuesto,
mostrando varias imgenes resultantes de los procesos.

En el capitulo cinco se presentan las conclusiones del sistema propuesto, observaciones de resultados
obtenidos, de factores que pueden intervenir para hacer robusto el sistema como breve introduccin
para posibles trabajos futuros.

Al final se listan las referencias que fueron utilizadas como parte de la investigacin del trabajo presente.

En la seccin de anexos se incluirn las principales caractersticas de Matlab con una breve explicacin
de las funciones bsicas, cdigos fuente de los algoritmos desarrollados.


























Captulo 1
Estado del conocimiento
1
C A P I TUL O 1
ES T A DO DEL C ONOC I MI ENT O


I n t r o d u c c i n




Uno de los grandes eventos tecnolgicos de las ltimas dcadas fue la invasin de los medios digitales
dentro de todos los aspectos de la vida cotidiana. La computadora (tambin denominada ordenador o
computador) ha tomado una gran importancia en el procesamiento de datos, entre ellos las imgenes.
En muchos casos para los proyectos de investigacin la computadora se ha tomado como base para el
procesamiento dado que es capaz de recibir una seria de datos y convertirlos en informacin til,
adems que puede realizar procesamientos con exactitud, rapidez y de acuerdo a lo programado puede
ser manipulada por un usuario o bien puede manipularse en forma automtica por otro programa o
simplemente por una gran variedad de secuencias, rutinas de instrucciones que son: ordenadas,
organizadas, y sistematizadas en una funcin.

Los documentos digitales como audio, imgenes, y video han alcanzado una expansin muy rpidamente
dentro de los consumidores, dominado campos como el entretenimiento, las artes, la educacin, entre
otros. Los datos digitales pueden ser almacenados a muy alta calidad y manipulados fcilmente con la
ayuda de las computadoras. A dems pueden ser transmitidos a altas velocidades y bajo costo a travs
de las redes de comunicaciones.

La representacin de los grficos en una computadora estn formados por redes de clulas pequeas
rectangulares denominados pixeles. Entre ms pequeo y ms cerca se encuentren los pixeles mejor
ser la calidad de la imagen, con la salvedad de que el ms grande es el archivo necesario para
almacenar los datos. Si el nmero de pixeles se mantiene constante el tamao de cada pixel crecer y
se convierte en la imagen granulada esto cuando la imagen sufre un aumento en su tamao; ya que el
ojo permite seleccionar los pixeles individuales.

La edicin digital de imgenes se ocupa de la edicin apoyada en computadoras de imgenes digitales,
comnmente un grfico rasterizado, en la mayora de los casos fotos o documentos escaneados. Estas
Captulo 1
Estado del conocimiento
2

imgenes son modificadas para optimizarlas, manipularlas, retocarlas, entre otras con el fin de alcanzar
la meta deseada.

Uno de las metas puede ser eliminar las fallas que pueden haberse producido durante el escaneo o al
fotografiar, por ejemplo sobreexposicin, baja exposicin, falta de contraste, ruido en la imagen, efecto
de los ojos rojos, paradoja de las lneas paralelas en perspectiva, etc. Estas fallas se producen por
defectos tcnicos en los aparatos fotogrficos, scanner, condiciones de trabajo precarias, fallas en la
operacin u originales defectuosos.

Las diferentes tcnicas de procesamiento de imgenes han venido a contribuir a los grandes avances
tecnolgicos como la identificacin de rostros, de iris, de texturas entre otros, en esta ocasin las
tcnicas sern utilizadas para realizar el tratamiento de imgenes capturadas de vehculos con placas de
la ciudad de Mxico.

Los mtodos de reconocimiento son utilizados para ser entrenados con diferentes patrones, estos
pueden estar conformados por datos de audio, imagen o video. Las redes neuronales artificiales han
resultado un mtodo eficiente, seguro y fcil de implementar en trabajos anteriores, por ello en el
sistema propuesto se har uso de la red neuronal Backpropagation para el reconocimiento de los
caracteres que conforman a las placas vehiculares.

Durante el desarrollo del sistema propuesto se hicieron pruebas con diferentes condiciones para la
adquisicin de la imagen, como la distancia, el horario, el deterioro o la suciedad de la placa y la
inclinacin, cada una de estas variaciones se fueron acotando para su mejor funcionamiento del sistema
propuesto.









Captulo 1
Estado del conocimiento
3
1 . 1 F UNDA MENT OS DE P ROC ES A MI ENT O DE I MGENES
En el apartado siguiente se describen los fundamentos bsicos del procesamiento de imgenes. En el
presente proyecto se utilizan distintas tcnicas de procesamiento, por ello es necesario conocer una serie
de definiciones bsicas para la comprensin de los temas posteriores.
1 . 1 . 2 DEF I NI C I ONES
Visin por computadora. Consiste en la adquisicin, procesamiento, clasificacin y reconocimiento de
imgenes digitales.
Pixel. Elemento bsico de una imagen.
Imagen. Arreglo bidimensional de pixeles con diferente intensidad luminosa.
Matemticamente, una imagen se representa por r = f (x, y), donde r es la intensidad luminosa del pixel
cuyas coordenadas son (x, y). Matemticamente un sistema para procesar imgenes se representa como
g(x, y) = T[f (x, y)].
Color. El color se forma mediante la combinacin de los tres colores bsicos rojo, azul y verde.
Brillo. Indica si un rea est ms o menos iluminada.
Tono. Indica si un rea parece similar al rojo, amarillo, verde o azul o a una proporcin de ellos.
Luminosidad. Brillo de una zona respecto a otra zona blanca de la imagen.
Croma. Indica la coloracin de un rea respecto al brillo de un blanco de referencia.
Para obtener una imagen a color debe transformarse primero los parmetros cromticos en elctricos y
representar los colores, lo cual puede realizarse de diferentes maneras, dando lugar a diferentes
espacios de colores o mapas de color.
Espacio RGB. Se basa en la combinacin de tres seales de luminancia cromtica distinta: rojo, verde,
azul. La forma ms sencilla de obtener un color especfico es determinar la cantidad de color rojo, verde
y azul que se requiere combinar para obtener el color deseado. En la figura 1.1 se muestra la suma
aritmtica de las componentes X = R + G + B, grficamente representada por un cubo.

Captulo 1
Estado del conocimiento
4




Figura 1.1. Espacio de colores RGB.
En la recta que une el origen con el valor mximo se encuentran ubicados los grises (escala de grises)
debido a que sus tres componentes son iguales. Cuando una cmara adquiere una imagen a color, para
cada pixel en color de tienen en realidad 3 componentes, una para cada uno de los colores bsicos (rojo,
verde y azul); la ganancia mxima para cada componente corresponde a la longitud de onda de los tres
colores bsicos [1].
1 . 2 V I S I N P OR C OMP UT A DORA
El campo de visin por computadora tiene una gran gama muy amplia de aplicaciones debido a que
existe una estimacin donde el 75% de la informacin recibida por el hombre es visual. Cuando
recibimos y utilizamos dicha informacin, nos referimos al proceso como percepcin o entendimiento a
travs de imgenes que recibe el ojo. En un sistema informtico, se le llama procesamiento y
reconocimiento de imgenes por computadora [2], mismo que ha tenido su importancia en las ltimas
dcadas, en las que investigadores de renombre le han dedicado tiempo suficiente para alcanzar su
aplicacin en diferentes disciplinas, como lo es la medicina, procesos de produccin, administracin,
aeronutica, entre otros [3].
La visin por computadora es un conjunto de investigaciones cientficas, encaminadas a resolver
problemas relacionados con la visin humana como la clasificacin, el seguimiento, la identificacin y la
descripcin de objetos, conteos y pronsticos, entre otras, mltiples e ilimitadas necesidades que se
pueden presentar en el anlisis de las imgenes por computadora, tanto reales como sintticas o de
alguna otra naturaleza [4].
Captulo 1
Estado del conocimiento
5
Un ejemplo de este tipo de investigaciones, es el sistema desarrollado por Orbotech que utiliza
algoritmos de dos tipos: designacin de reglas y comparacin con una base de datos, para identificar los
defectos de un circuito en una imagen [5].
RADIUS (Research And Development for Image Understanding Systems Sistemas para la investigacin
y Desarrollo para el Entendimiento de Imgenes) es tambin una aplicacin usada para interpretar
fotografas areas y de satlite para crear mapas y modelos de terrenos en 3D [5].
Arcelli y Sanniti di Baja desarrollaron un sistema que hace la separacin de objetos traslapados y realiza
un conteo de ellos utilizando contracciones y expansiones uniformes de los cmulos [6].
S. H. Ong, Jayasoriah y H. H. Yeow R. Sinniah propusieron la descomposicin de una imagen binaria a
travs de una lnea de corte entre los puntos de traslape y erosionando los objetos conglomerados en
esta rea para poder contarlos. Ms tarde Jayasoriah y R. Sinniah en colaboracin con T. T. E. Yeo y X.
C. Jin mejoraron la metodologa anterior, basndose en el anlisis de concavidades, llamadas
deficiencias de concavidad de los conglomerados para determinar cundo se debe realizar dicho corte y
segmentarlos [7].
Rey-Sern Lin, Chyi-Hwa Chu y Yuang-Chen Hsueh propusieron un mtodo para detectar esquinas
localizando puntos de concavidad y convexidad significativos, para ello utilizaron extractos morfolgicos:
uno que sirve para picos y otro para valles, identificando los contornos de los objetos presentes en la
imagen [8].
Rafael Sotelo Rangel realizo una investigacin sobre el mejoramiento de las tcnicas de conteo de
objetos en una escena o imagen. Sus resultados indicaron que el conteo es ms eficiente y rpido,
considerando los siguientes factores:
Nmero de conglomerados, es el nmero de grupos de objetos no separados.
Nmero de hoyos, es el nmero de espacios que se localizan dentro del conjunto de
conglomerados.
Nmero de concavidades, es el nmero de vrtices que se forman debido a la interseccin de
objetos en un conglomerado [4].
Por tanto la visin por computadora se define como los procesos de obtencin, caracterizacin e
interpretacin de la informacin contenida en imgenes tomadas en un mundo tridimensional. Estos
procesos pueden a su vez ser subdivididos en seis subprocesos principales:
Captulo 1
Estado del conocimiento
6
Captacin. Es el proceso a travs del cual se obtiene una imagen visual.
Pre-procesamiento. Sirve para mejorar la imagen de tal forma que se incremente la
oportunidad de que otros procesos logren su objetivo.
Segmentacin. Divide una imagen en objetos que sean de inters para los procesos siguientes.
Descripcin. Trata con las caractersticas extradas que resultan ser informacin de inters o
caractersticas que son bsicas para diferenciar una clase de objetos de otra.
Reconocimiento. Identifica a estos objetos, asignndoles una etiqueta basada en la informacin
que proporciona su descripcin.
Interpretacin. Asocia un significado a un conjunto de objetos reconocidos.
Noem Vzquez Tecpanecatl, Mariko Nakano Miyatake, Hctor Manuel Prez Meana, propusieron un
sistema de reconocimiento de imgenes, el sistema parte de la adquisicin de una imagen en formato
JPG, usando tcnicas de procesamiento como: binarizacin, etiquetado (labeling), codificacin de
smbolos mediante cdigo de blancos y negros en caracteres, para el reconocimiento emplearon una red
neuronal artificial backpropagation [11].
B. Ron, J. Erez, desarrollaron un sistema de reconocimiento en tiempo real de placas vehiculares,
mediante el anlisis de una pelcula y la localizacin de la placa en un fotograma de video, mediante el
anlisis morfolgico de la imagen, binarizacin, la transformada de Hough y la deteccin de bordes en la
imagen [12].
Fatih Kahraman, Binnur Kurt, Muhittin Gkmen, desarrollaron un algoritmo para la deteccin de placas,
usando para la segmentacin el filtro de Gabor y la cubanizacin de vectores, uno de los primeros
algoritmos que implemento el uso de Gabor para la segmentacin de caracteres; despus de una gran
investigacin los autores concluyen los enfoques basados en la binarizacin (umbralizacin) son mas
prcticos para analizar en ciertas direcciones y escalas que utiliza el filtro de Gabor, esto en lugar de la
deteccin de bordes. El filtro de Gabor solo da una estimacin aproximada del lmite de la ubicacin de la
placa, despus la cuantizacin de vectores en conjunto con la binarizacin se extrae el limite exacto y el
segmento de la regin de la placa en caracteres separados para estos ser segmentados [13].
Vojtech Franc, Vaclav Hlavac, desarrollaron un algoritmo para la segmentacin de caracteres en placas
vehiculares mediante el uso del Modelo oculto de Markov, para ello se utilizaron tcnicas de
procesamiento de imgenes como: binarizacin, distancias entre los caracteres de la placa usando
modelos ocultos de Markov [14].
Hakan Caner, H. Selcuk Gecim, Ali Ziya Alkar, propusieron un sistema eficiente con una red neuronal
embebida para el reconocimiento de placas vehiculares, el sistema parte de una toma de video al
Captulo 1
Estado del conocimiento
7
vehculo, para posteriormente usar tcnicas de procesamiento como: binarizacin, filtro Gabor,
etiquetado (labeling), para el reconocimiento emplearon una red neuronal, misma que fue implementada
en un FPGA (Field-programmable gate arrays) con un consumo bajo de memoria [15].
Para obtener el reconocimiento de un objeto es necesario almacenar sus caractersticas, utilizar
diferentes tcnicas de procesamiento, reconocimiento, manipular los pixeles de la imagen, incluso se
pueden utilizar algoritmos evolutivos, como el numero de forma, esqueletos de una regin [9].
1 . 3 ES T A DO DEL C ONOC I MI ENT O EN EL REC ONOC I MI ENTO DE
P L A C A S V EHI CUL A RES
En la mayora de los pases del mundo, la importancia del transporte vehicular a aumentado, y debido a
esto la necesidad de un sistema de transporte automtico y confiable ha crecido en forma considerable.
Esta necesidad ha ocasionado que la investigacin sobre el reconocimiento automtico de placas
vehiculares se est realizando mundialmente. El sistema de transporte automtico incluye control de
acceso en reas de estacionamiento o en reas restringidas, deteccin de vehculos involucrados en
algn acto ilcito, como robo, accidente, entre otros, en la medicin y control estadstico de trfico, o
bien en pagos de puntos de acceso, pago de peaje en carreteras y/o puentes. Para atender estas
necesidades se han propuesto varios sistemas de reconocimiento de placas, la mayora de los cuales se
han adaptado al tipo de placas usado en el pas o en alguna ciudad en especfico. Por lo tanto una
comparacin justa de los diversos sistemas propuestos en literatura es muy difcil. Adems dependiendo
del tipo de placas y de la aplicacin o el problema que se quiere resolver la estructura del sistema podra
cambiar totalmente. Considerando los anterior, en esta seccin se realiza una revisin detallada de
algunos sistemas ms exitosos propuestos en la literatura.
1 . 4 T I P O DE P L A C A
La estructura de la placa vehicular vara dentro de la Republica Mexicana, as como en los diversos
pases de todo el mundo. Para el caso particular de las placas de la Ciudad de Mxico estn conformadas
por seis caracteres, tres nmeros y tres letras, la placa del estado de Mxico consiste en tres letras y
cuatro nmeros, entre otras. En la mayora de los pases occidentales se usan placas con letras y
nmeros, sin embargo en los pases de Asia como Japn, Corea, Tailandia, entre otros se usan cuatro o
cinco nmeros y una o dos letras de cada pas. La tabla 1 muestra el tipo de placa utilizado tanto en
diferentes estados de la Republica Mexicana, como del extranjero.

Captulo 1
Estado del conocimiento
8
P A I S T I P O DE P L A C A
frica del sur 3 letras y 5 nmeros
Alemania 3 letras y 3 nmeros
Australia 2 letras y 4 nmeros
Brasil 4 letras y 3 nmeros
Corea 1 letra coreana y 4 nmeros
Finlandia 4 letras y 3 nmeros
Grecia 3 nmeros y 4 letras
Holanda 4 letras y 2 nmeros
Italia 3 letras y 4 nmeros
Japn 1 letra japonesa y 4 nmeros
Nicaragua 2 letras y 4 nmeros
Mxico D.F. 3 letras y 3 nmeros
Singapur 2 letras y 6 nmeros
Tailandia 2 letras tailandesas y 4 nmeros


Tabla 1.1 Tipos de placas de diferentes pases.

1 . 5 MT ODO DE L OC AL I Z A C I N DE L A P L AC A
Uno de los procesos ms importantes dentro del sistema propuesto es la localizacin de la placa, ya que
de ello depende de que exista un reconocimiento certero de la placa analizada. Para que el
reconocimiento automtico de placas vehiculares sea robusto y confiable, el sistema debe ser construido
por varias etapas.
El proceso de localizacin de la placa ocupa una parte muy importante del sistema completo. En realidad
existen varios artculos que proponen solamente el mtodo de localizacin de la placa dentro de la
imagen [10], [20].
(1) Anlisis de gradiente de la imagen capturada [17], [21].
La regin que contiene la placa tiene un valor promedio del gradiente que es relativamente alto,
debido a que la regin contiene una alta variacin de la intensidad. Usando esta caracterstica,
se localiza la placa dentro de la imagen. Normalmente es mtodo detecta varias regiones de
diferentes tamaos incluyendo la regin de la placa, por lo tanto necesita procesamiento para
elegir una regin entre varios candidatos.
Captulo 1
Estado del conocimiento
9
(2) Anlisis del valor de cuantizacin vectorial (VQ) [10], [20].
Como en el mtodo de anlisis de gradiente, usando la misma caracterstica de la placa que
contiene una alta variacin de intensidad, se calcula el valor de la cuantizacin vectorial (VQ).
Las regiones que tienen alto valor de VQ son candidatos a ser la regin de la placa. Como no
siempre la regin que tiene el mximo valor de VQ corresponde a la regin de la placa, hay que
realizar posprocesamiento para determinar la regin de la placa.
(3) Filtros usando redes neuronales [16], [22].

Usando dos redes neuronales de tiempo retardado (TDNN) como filtros para la imagen de color.
Aqu los valores de Hue, Saturacin e Intensidad (HSI) de las lneas horizontales y verticales
son las entradas de los TDNN. Los autores reportan un deseable funcionamiento aunque la
complejidad de los procesos es alta.
(4) Anlisis de imagen de borde [18].
Usando ciertas caractersticas peculiares de las placas, las cuales estn dentro de la regin de la
placa, existen en esta un mayor nmero de bordes que son otras regiones. Este mtodo
funciona bien cuando la imagen tiene muy poco ruido, sin embargo cuando aumenta el ruido o
el vehculo est adornado con muchas calcomanas o algn otro accesorio, este mtodo podra
no funcionar correctamente.
Existen adems otros mtodos propuestos, tales como el mtodo que usa la lgica difusa [19], el cual
genera las reglas de lgica difusa usando las caractersticas peculiares de la imagen de la placa. Sin
embargo las reglas construidas a partir las caractersticas no se adaptan a las variaciones de tamao e
inclinacin de la placa, y el funcionamiento reportado en el mismo artculo [19] no es suficiente para una
aplicacin prctica. Tambin se ha reportado un mtodo que usa la FFT unidimensional para localizar la
placa [23], sin embargo este mtodo no funcionaria cuando la placa tiene alguna inclinacin.
1 . 6 MT ODO DE S EGMENT A C I N DE L OS S I MB OL OS
Una vez localizada la posicin de la placa dentro de la imagen del vehculo capturada, se segmentan los
smbolos que constituyen esa placa. Despus de una rigurosa revisin bibliogrfica, se encontr que
todos los artculos de reconocimiento de placas realizan este proceso de segmentacin de smbolos, con
diferentes tcnicas.
Captulo 1
Estado del conocimiento
10

Los mtodos ms usados en la literatura son el mtodo basado en etiquetado, el mtodo basado en
caracterstica geomtrica de la placa y el mtodo basado en la proyeccin horizontal y vertical de la
placa.
(1) El mtodo basado en etiquetado [24]
La imagen de la placa localizada se binariza y se aplica una tcnica de etiquetado. En esta
tcnica, se pueden segmentar los smbolos correctamente aun que la placa esta inclinada. Sin
embargo si la imagen tiene una alta tasa de ruido aditivo, se generan gran cantidad de
etiquetas, por lo tanto antes de la aplicacin del etiquetado, hay que aplicar el proceso de
eliminacin de ruido.
(2) El mtodo basado en caracterstica geomtrica [25],[26]
Los smbolos de la placa tienen una caracterstica geomtrica determinada, tales como la
distancia entre dos smbolos y la posicin relativa de los smbolos. Usando esta caracterstica se
segmentan los smbolos. Este mtodo depende del tipo de placa y no se puede aplicar
directamente a otro tipo de placa. Para aplicarlo a otro tipo de placa se tiene que generar
nuevamente un sistema adecuado al tipo de la placa de inters.
(3) El mtodo basado en la proyeccin horizontal y vertical [23], [28]
En este mtodo se calcula la proyeccin vertical de la placa localizada, los espacios entre dos
smbolos se detectan usando el valor de la proyeccin. Una vez que se determinan los espacios
entre los smbolos, se segmentan con las lneas verticales. Este mtodo, comparando con otros,
tiene baja complejidad. Sin embargo cuando la placa esta inclinada o en el proceso de
localizacin de la regin de placa, aparece alguna otro parte del vehculo, los smbolos se
segmentaran errneamente.
1 . 7 MT ODO DE REC ONOC I MI ENT O
Los smbolos segmentados se introducen al sistema de reconocimiento el cual est basado en el mtodo
de modelo acoplado, redes neuronales u otro mtodo de clasificacin tal como Support Vector
Machine, entre otros. En diversos artculos se reporta el porcentaje de reconocimiento obtenido con el
mtodo usado, sin embargo los porcentajes de acierto son muy dependientes de las condiciones del
experimento realizado, tales como el tipo de placa, el mtodo de captura de la imagen, la condicin de
captura de la imagen, entre otros. Por lo tanto es muy difcil realizar una comparacin justa entre
diversos mtodos.
Captulo 1
Estado del conocimiento
11
(1) Mtodo de modelo acoplado [21], [25]. [26]
Este mtodo primero genera los modelos de todos los smbolos posibles de las placas, y se
calcula la correlacin cruzada entre el smbolo segmentado y todos los modelos.
Seleccionndose el smbolo con correlacin mayor. Este mtodo tiene relativamente baja
complejidad, sin embargo para usar este mtodo hay que realizar varios pre-procesamientos,
tales como la normalizacin de tamao y posicin de smbolo extrado. Adems de este pre-
procesamiento, cuando la placa esta inclinada, obviamente el smbolo extrado tambin est
inclinado, en esta situacin este mtodo no funcionaria correctamente. Los porcentajes de
acierto de los mtodos de modelo acoplado reportados son 92% [21], 95% [25] y 95% [26],
respectivamente, cuando opera en condiciones favorables.
(2) Redes Neuronales [23], [24], [27], [28]
Cuando se usan redes neuronales con buen funcionamiento para reconocimiento de patrones,
se aplica a estas; los smbolos de segmentados. Algunos artculos usan redes neuronales
multicapa con entrenamiento de retropropagacin [24], [28] u otro algoritmo de aprendizaje
mejorado [23].
Otro artculo propone un sistema de reconocimiento usando memoria asociativa bidimensional
(BAM) [27]. Diferente del mtodo de modelo acoplado, en el sistema de reconocimiento basado
en redes neuronales, el tamao y la inclinacin de los smbolos pueden variar dentro de cierto
rango, sin embargo generalmente el proceso de entrenamiento de las redes neuronales es un
proceso de muy alta complejidad computacional, cuando el numero de neuronas en la capa de
entrada, en la capa oculta y la de salida son considerables en nmero. Los porcentajes de
acierto reportados en los mtodos basados en redes neuronales son 90% [23], 83% [24], 90%
[27], 92% [28], respectivamente.
(3) Otros mtodos de reconocimiento [22], [29]
Se han propuesto otros mtodos para clasificacin y reconocimiento de patrones, tal como
Support Vector Machine (SVM) [30]. [31]. K Kim propuso un reconocedor de los smbolos
extrados basado en SVM. S. Abe propuso un mtodo basado en lgica difusa para aplicacin de
reconocimiento de patrones y se aplico a reconocimiento de placas vehiculares. Los porcentajes
de acierto reportado son 95% [22] y 97% [29].
Algunos esquemas para reconocimiento de placas que contemplan los procedimientos descritos
anteriormente han sido propuestos.


Captulo 1
Estado del conocimiento
12

C ONC L US I ONES
En este primer captulo se reviso el contexto de las investigaciones propuestas para el procesamiento de
imgenes y reconocimiento de patrones, que propiamente es parte del objetivo general del presente
proyecto. Las tcnicas de procesamiento de imgenes han venido perfeccionndose ya que se han tenido
necesidades distintas; desde los medios de comunicacin hasta los procesos que se involucran en
nuestra vida cotidiana.
A pesar de la amplia diversidad dentro de los algoritmos propuestos para el reconocimiento de placas
vehiculares, se han realizado esfuerzos para estudiar el estado actual del conocimiento en el rea, que
han llevado al mejoramiento de las tcnicas de procesamiento de imgenes y de las de reconocimiento
de patrones, esto con el fin de revisar cuales han obtenido un mejor comportamiento e incluso poder
modificarlos y/o ajustarlos al sistema propuesto en el presente trabajo. Es an largo el camino por
recorrer dentro del campo de visin por computadora, sin embargo se continua trabajando al respecto
en investigaciones como la presentada en el trabajo presente, siempre teniendo como objetivo particular
el presentar nuevas propuestas que ayuden al desarrollo del mismo.

REF ERENC I A S
[1] R. C. Gonzalez, Woods, R. E., Digital Image Processing, Addison Welsey, 1993
[2] 2.1 H Ernest, "Computer Image Processing", Academic Press, N. Y., c1979
[3] 2.2 G. Vazquez, "Realce de imgenes utilizando tcnicas de Mascaras", Capitulo 3, Tesis de Maestra,
pag. 31-36. CITEDI-IPN, 1995.
[4] 2.3 R. S. Rangel "Nueva metodologa para el conteo de objetos en imgenes", Tesis de maestra,
CIC-IPN, Mxico, junio 2000.
[5] 2.4 W. E. L. Grimson, J. L. Mundy, "Computer Vision Applications", Revista ACM, Vol. 37 No. 3,
Marzo 1994.
[6] 2.5 Arcelli, Sanniti di Baja, "Spliting a digital image binary clump consisting of touching or marginally
overlapping objects". Electrical Engineering Departament of Sidney University, 1984.
Captulo 1
Estado del conocimiento
13

[7] 2.6 S. H. Ong, Jayasoriah, "Descompition of digital clumps into convex parts by contour tracing and
labeling", Patterns Recognitions Letters, Vol. 13, pp. 789-795, 1992.
[8] 2.7 R. S. Lin, C. H. Chu y Y. C. Hsuch, "A modified morphological corner detector", Patterns
Recognition Ltters, Vol. 19, pag 279-286, 1998.
[9] 2.8 A. M. Rubio, "Sistema Evolutivo para tratamiento de Imgenes"
[10] 2.27 R. Zunio, S. Rovetta "Vector Quantization for License-Plate Location and Image Coding", IEEE
Trans. on Industrial Electronics, vol 47, no. 1, pp. 159-167, January 2000.
[11] Noem Vzquez Tecpanecatl, Mariko Nakano Miyatake, Hctor Manuel Prez Meana, Sistema
automtico de localizacin y reconocimiento de placas de automviles Mxico DF, Mayo 2002
[12] B. Ron and J. Erez, A Real-Time Vehicle License Plate Recognition (LPR) System,Vision and Image
Sciences Lab., IITWinter Project 2002. Disponible: http://visl.technion.ac.il/projects/2002w03
[13] Fatih Kahraman, Binnur Kurt, Muhittin Gkmen License Plate Character Segmentation Based on
the Gabor Transform and Vector Quantization, Istanbul Technical University Institute of Informatics
Maslak 80626
[14] Vojt ech Fran and Vaclav Hlavac License plate character segmentation using Hidden Markov
Chains, Center for Machine Perception, Czech Technical University, Prague, Disponible:
http://cmp.felk.cvut.cz
[15] Hakan Caner, H. Selcuk Gecim, Ali Ziya Alkar Efficient Embedded Neural-Network-Based
License Plate Recognition System, Ankara Turquia, Septiembre 2008

[16] S. H. Park, K. L. Kim, K. Jung, H. J. Kim, "Locating Car License Plate using Neuronal Networks",
Electronic Letters, vol. 35, no. 17, pp. 1475-1477, August 1999.

[17] D. Gao, J. Zhou, "Car License Plates Detection from Complex Scene", Procedings of international
Conference of Signal Processing, pp. 1409-1414, 2000.

Captulo 1
Estado del conocimiento
14

[18] M. G. He, A. L. Harvey, P. Danelutti, "Car Number Plate Detection with Edge Image Improvement",
Procedings of International Symposium on Signal Processing and its Applications, pp. 597-600.

[19] N. Zimic, J. Ficzko, M. Mraz, J. Virant, "The Fuzzy Logic Approach to the Car Number Plate Locating
Problem", Proceeding of Intelligent Information systems, pp. 227-230, 1997.

[20] R. Zunino, S. Rovetta, "Visual Location of License Plate bye Vector Quantization", Proceeding of the
IEEE. International Symposium on Circuits and Systems, vol 4, pp. 135-138, 1999.

[21] P. Comelli, P. Ferragina, M. N. Graniere, F. Stabile, "Optical Recognition of Motor Vehicle License
Plates", IEEE Signal Processing Society Workshop, vol. 2, pp. 614-623, 2000.

[22] K. K.Kim, K. I. Ki,. J. B. Kim, H. J. Kim, "Learning-Based Approach for License Plate Recognotion",
Proceding of the IEEE Signal Processing Society Workshop, vol 2, pp. 614-623, 2000.

[23] R. Parisi, E. Di Claudio, G. Lucarelli, G. Orlandi, "Car Plate Recognotion by Neuronal Networks and
Image Processing", Proceeding of the IEEE, pp. 195-198.

[24] C. Coetzee, C. Botha, D. Weber, "PC Based Number Plate Recognotion System", Proceedings of
IEEE International Symposium on Industrial Electronics, vol 2, pp. 605-610, 1998.

[25] T. Natio, T. Tsukada, K. Yamada, K. Kozuka, S. Yamamoto, "Robust License-Plate Recognotion
Method for Passing Vehicles under Outside Environment", IEEE Trans. On Vehicular Technology vol. 49,
no. 6, pag. 2309-2319, November 2000.

[26] T. Natio, T. Tsukada, S. Yamamoto, "Robust Recognotion Methods for Inclined License Plates under
Various Illumination Conditions Outdoors", Proceeding of IEEE/IEEJ/JSAI International Conference on
Intellingent Transportation Systems, pp. 697-702, 1999.

[27] M. M. Fahmy, "Automatic Number-Plate Recognotion: Neural Network Approach", Proceedings of
Vehicle Navigation and Information System Conference, pp. 99-101, 1994.

Captulo 1
Estado del conocimiento
15

[28] T. Sirithinaphong,K. Chamnongthai, "The Recognotion of Car License Plate for Automatic Parking
System", Proceeding of Fifth International Symposium on Signal Processing and Its Applications, pp.
455-457, 1999.

[29] S. Abe, M. S. Lan, "A Method for Fuzzy Rules Extraction Directly from Numerical Data ands Its
Application to Pattern Classification", IEEE Trans. On Fuzzy Systems, vol 3, no 1, pp, 18-28, 1995.

[30] T. M. Mitchell, "Machine Learning", WCB McGraw-Hill, Boston, 1997.

[31] V. Cherkassky, F. Mulier, "Learning from Data", John Wiley & Sons, Inc. New York, 1998.




























Captulo 2
Marco terico

16

C A P I TUL O 2
MA RC O T ERI C O


I n t r o d u c c i n


El tema de investigacin de esta tesis podra clasificarse como una aplicacin en el campo de visin por
computadora, el cual abarca dos campos de investigacin: el procesamiento digital de imgenes y
reconocimiento de patrones. En el campo de procesamiento digital se cuenta con varias tcnicas, tales
como la conversin a escala de grises, binarizacin, eliminacin de ruido sal y pimienta, restauracin de
caracteres, segmentacin, entre otros, que se han utilizado para lograr el objetivo, y en el campo de
reconocimiento de patrones, existen varios mtodos, sin embargo en este trabajo se ha usado
bsicamente una estructura de redes neuronales artificiales.
La adquisicin de la imagen contiene un formato JPG, en el procesamiento de imgenes uno de los
objetivos que siempre est presente es minimizar los tiempos de respuesta, para ello debe realizarse un
pre-procesamiento en el formato de la imagen original, ya que el formato JPG contiene tres matrices,
cada una de ellas con los valores de los colores bsicos, el pre-procesamiento consiste en realizar una
conversin de la imagen original a escala de grises, esto con el fin de evitar un procesamiento mayor y
con el fin de disminuir tiempo en el nmero de operaciones que puedan realizarse durante los procesos.
Los algoritmos propuestos en el trabajo presente trabajan con la imagen procesada en su formato escala
de grises o bien la imagen binarizada, por lo que los tiempos de respuesta son cortos. El procesamiento
de imgenes es el conjunto de operaciones efectuadas sobre una coleccin de datos para propsitos
especficos como el mejoramiento, extraccin e interpretacin de informacin relevante sobre ella [3].
Este procesamiento se remonta hacia la segunda dcada del siglo XX cuando se trasmitan imgenes
fotografas periodistas por cable submarino entre Londres y Nueva York, reduciendo significativamente el
tiempo de emisin y recepcin de las imgenes a solo unas cuantas horas, emplendose nuevas tcnicas
de codificacin y reproduccin de las imgenes.
Utilizar tcnicas de procesamiento de imgenes permite solucionar problemas en especifico, en este caso
ser parte del presente trabajo para desarrollar e implementar un sistema de reconocimiento de placas
vehiculares de la ciudad de Mxico.
Captulo 2
Marco terico

17

En esta seccin se realizara la descripcin del marco terico sobre las tcnicas utilizadas en el trabajo de
tesis, cabe recalcar que existe una gamma mayor de tcnicas en el campo de procesamiento digital de
imgenes para diferentes objetivos.

2 . 1 A DQUI S I C I ON DE L A I MAGEN
Generalmente se realiza capturando una seal analgica de imagen, como una cmara fotogrfica
analgica, aun que en los ltimos aos las cmaras digitales son las que mas se utilizan. La imagen
tambin puede provenir de diferentes medios, por ejemplo fotogrficamente, o electrnicamente, por
medio de monitores de televisin. El procesamiento de las imgenes se puede en general hacer por
medio de mtodos pticos, o bien por medio de medios digitales, en una computadora. Los sistemas
adquieren los datos pixel a pixel. La imagen es guardada en una matriz de pixeles. El proceso de
digitalizacin trasforma datos anlogos continuos en datos digitales discretos, es decir, un numero de
valores enteros finito que es usado para representar todos los valores de los datos originales y continuos
[3].
2 . 2 REP RES ENT AC I ON DE L A I MA GEN
Tiene que ver con los medios de representar los datos de la imagen de manera que pueda ejecutarse el
procesamiento de imgenes y el proceso de anlisis para implementarlo eficientemente. Existe la escala
monocromtica, la escala de grises. Una imagen se representa como una funcin bidimensional f(x,y).
Una imagen puede ser definida como una funcin dos-dimensional f(x,y), siendo x e y coordenadas
espaciales, y f en cualquier par de coordenadas se define como la intensidad o nivel de gris de la imagen
en el punto. Si los valores x y y son finitos o cantidades discretas, se trata entonces de una imagen
digital. Cada imagen tiene un numero finito de elementos y tienen un valor y una localizacin. A estas
unidades se les llama pixeles [4] [5] [6] como se observa en la figura 2.1.
El color se adquiere combinando diferentes colores de la luz. La seal de una cmara de televisin a
color puede representarse usando tres componentes que son rojo, verde y azul: R = r(x,y); G = r(x,y);
B = r(x,y); El vector (r(x,y), g(x,y), b(x,y)) define la intensidad y el color en el punto (x,y) en la imagen
de color [4] [5] [6].
Captulo 2
Marco terico

18





Figura 2.1 Imagen de arreglo m x n pixeles. El pixel en la x
n
columna y la y
n

fila tiene una intensidad igual a f(x,y).
2 . 3 P ROC ES A MI ENTO DE I MAGEN
El procesamiento digital de imgenes es el conjunto de tcnicas que se aplican a las imgenes digitales
con el objetivo de mejorar la calidad o facilitar la bsqueda de informacin. El proceso de digitalizar a los
datos permite transformarlos a un formato adecuado para que la computadora pueda manipularlos,
pudiendo ser transformado en cualquier funcin matemtica seleccionada. Los mtodos que se aplican a
una imagen pueden variar de acuerdo los resultados y metas planeadas [3]. Los dos tipos de
operaciones aplicadas en el procesamiento de imgenes son las operaciones punto a punto y
operaciones de vecindad.
El procesamiento digital se realiza al dividir la imagen en un arreglo rectangular de elementos.
Posteriormente se le asigna un valor numrico a la luminosidad de cada pixel. Entonces la imagen queda
completamente definida debido a la luminosidad de cada pixel y las coordenadas que indican su posicin.
Estos datos se almacenan en la memoria de la computadora [4] [5] [6].
2 . 4 A N L I S I S Y MEJ ORA MI ENT O DE L A I MA GEN
El mejoramiento de la imagen se puede lograr alterando los valores de la luminosidad de los pixeles con
las operaciones y transformaciones matemticas correspondientes con el objetivo de resaltar algunos
detalles de la imagen o poner de manifiesto algunas otras caractersticas. Una vez que tiene lo antes
mencionado, la representacin de esos pixeles va a dar hacia algn dispositivo de salida de imagen.
Captulo 2
Marco terico

19

En el anlisis de imagen se extraen de manera automtica informacin til. La informacin debe ser
tanto til como explicita para poder tomar decisiones posteriormente. Las tcnicas de anlisis ms
comunes que son utilizadas para el reconocimiento de patrones usando extraccin de caractersticas,
relacin de imgenes y procesos sintcticos descriptivos.
La relacin entre imgenes entre imgenes significa comparar una representacin ideal de un patrn o
un objeto con regiones segmentadas dentro de la imagen. Esto se puede hacer de manera global con la
imagen o localmente donde se pueden usar varias caractersticas locales como esquinas. Si se usa
extraccin de caractersticas basada en reconocimiento de patrones, las imgenes son descritas en
trminos de sus caractersticas representativas. Esta tcnica se ha empleado en los ltimos aos.
Significa segmentar la imagen en sus partes constituyentes. Una vez que eso se ha realizado, las
caractersticas claves son extradas despus clasificadas [4] [5] [6]. Procesos sintcticos descriptivos
tienen un enfoque lingstico hacia el anlisis de imgenes. Ellos modelan un objeto por medio de su
conjunto de elementos bsicos y de relaciones especiales.
2 . 5 CL A S I F I C A CI N DE L A I MA GEN
Los objetos son clasificados de acuerdo a sus caractersticas extradas. El punto para la clasificacin de
las imgenes reside en la similitud entre los objetos los cuales contienen caractersticas similares y
adems que pueden formar sectores.
El procesamiento de imgenes trata temas como el reconocimiento y anlisis de imgenes en segunda y
tercera dimensin. El procesamiento digital de imgenes en trminos generales envuelve al
reconocimiento de imgenes 2D y 3D y secuencias de imgenes, anlisis y manipulacin, transmisin y
otras reas relacionadas. Partes cubiertas por esta rea son: transformaciones de intensidad y filtros
espaciales, procesamiento en el dominio de la frecuencia, restauracin de imgenes, procesamiento del
color, ondiculas, compresin de imgenes digitales, procesamiento morfolgico, segmentacin,
representacin y descripcin, reconocimiento de formas y objetos de interpretacin.
2 . 6 A NTEC EDENT ES S OB RE EL P ROC ES A MI ENT O DE I MGENES
Hasta las dcadas de los 50s y 60s comenz el desarrollo de tcnicas de procesamiento de manera mas
formal debido a que fueron necesarias tcnicas para la transmisin y procesamiento de imgenes desde
satlite. El jet Propulsin Laboratory de Estados Unidos desarrollo las tcnicas de transmisin, realce y
restauracin de imgenes obtenidas por los satlites en el espacio [7].
Captulo 2
Marco terico

20

Durante la dcada de los setenta se financiaron proyectos de investigacin para el desarrollo de tcnicas
que pudieran estudiar los mecanismos de la visin y que pudieran analizar las imgenes digitales. El
Nacional Institute of Health de los Estados Unidos comenz a aplicar dichas tcnicas en la investigacin
de imgenes de rayos X, microscopia ptica y electrnica. De igual forma el MIT junto con la Universidad
de Stanford enfocaron sus trabajos en la visin aplicada a la robtica con el proyecto Hand-Eye. Otros
dos proyectos que se desarrollaron estas tcnicas fueron el proyecto japons PIPS (Patter-Information
Processing System) cuya aplicacin fue principalmente militar.
Por otro lado en esa misma dcada de realizaban investigaciones en Europa, particularmente en la cole
Nacional Supriore des Mines de Paris en Francia, los profesores G. Matheron y J. Sierra tomando como
base los resultados de la geometra integral y clculo de probabilidades para la caracterizacin y
medicin de formas. Las principales reas de aplicacin de esa metodologa llamada Morfologa
Matemtica van desde la Geologa hasta la Biologa y la Medicina.
A partir de ah, nuevos conceptos emergen conceptos como tcnicas de procesamiento de imgenes
digitales refirindose a las tcnicas asociadas con la captura, codificacin, y representacin de imgenes,
tcnicas para el anlisis de imgenes digitales y tcnicas de visin por computadora o visin mediante el
robot, teniendo como objetivo extraer informacin presente en la imagen para hacer una interpretacin
de la escena que esa imagen representa.
Pero no fue sino hasta los 80s que las tcnicas comenzaron a perfeccionarse y a emplearse en muchas
aplicaciones comerciales. Marr surgi en la lnea de marcado por el MIT, dndose las mayores
contribuciones en el desarrollo de algoritmos para la deteccin de caractersticas como bordes, lneas, y
texturas que ayudan a definir lo que le llamo el esbozo primitivo, as como el desarrollo de tcnicas
globales de segmentacin que permiten dividir una imagen en regiones [7].
Tambin las investigaciones se enfocaron en usar tcnicas de representacin del conocimiento para
resolver problemas de interpretacin de imgenes, aplicados a ambientes industriales con apoyo de la
Inteligencia Artificial para la representacin del conocimiento y la interpretacin de escenas a partir de
imgenes digitales.
En la segunda dcada de los 80 la pauta marcan las teoras y algoritmos para la interpretacin de la
imagen 2D como proyecciones de escenas 3D, concentrndose en problemas asociados a la
reconstruccin de escenas a partir de distintas proyecciones, la caracterizacin de superficies a partir del
estudio del movimiento, el estudio de las formas a partir de las sombras, tcnicas de representacin y
bsqueda de objetos, el estudio de la orientacin a partir de texturas y el estudio de flujo ptico y sus
mltiples aplicaciones a la caracterizacin de superficies 3D [7].
Captulo 2
Marco terico

21

2 . 7 F I L T RA DO DE UNA I MAGEN
El filtrado es una tcnica para modificar o mejorar a una imagen. El filtrado es una operacin de
vecindario, en la cual el valor de un pixel dado en la imagen procesada se calcula mediante algn
algoritmo que toma en cuenta los valores de los pixeles de la vecindad de la imagen original.
En el procesamiento de imgenes existen diferentes operaciones, filtros y algoritmos que nos permiten
resaltar elementos, detectar cambios y otras caractersticas, segn lo que se desee obtener. Para
detectar el humo, por ejemplo, la conversin de una imagen en color a una imagen en escala de grises
servir ampliamente para obtener un contraste entre los colores obscuros. Los tonos de grises estn
representados en la escala RGB y sus valores se encuentran en el intermedio de RGB (0,0,0) y RGB
(255,255,255), por ejemplo un gris medio lo podremos obtener con los valores RGB (150, 150, 150) [2].
2 . 7 . 1 F I L T RO L I NEAL
El ruido en una imagen es una caracterstica que se desea eliminar. Cuando el ruido tiene variaciones
sobre los niveles de gris corresponde a las frecuencias altas. Siguiendo en el entendido que el ruido es
una seal que se suma a la seal (imagen) original, el nivel de gris de un pixel puede definirse como la
suma del nivel de gris ideal. El ruido puede definirse como:
f(x, y) = fi(x, y) + r(x, y) (2.1)

El ruido en una imagen siempre est presente, el que afecte a mas o menos un pixel es relativamente
aleatorio. Para el caso del que se trate de un ruido Gaussiano, este est definido por una distribucin
normal de media cero y varianza tpica de
[2]
.
2 . 7 . 2 F I L T RO P A S A B A J A S
Una forma de eliminar el ruido consiste en hacer pasar la imagen por un filtro pasa bajas que disminuya
la ganancia de los componentes de alta frecuencia. El filtro ms sencillo e intuitivo es aquel que tiene
coeficientes unitarios en todos los elementos, como se observa en la figura 2.2.

Captulo 2
Marco terico

22


Figura 2.2 Coeficientes unitarios.

2 . 7 . 3 F I L T RO MEDI ANO
El filtro mediano permite eliminar el ruido sal y pimienta, es decir elimina puntos blancos y negros
presentes en la imagen. En una secuencia de nmeros x1, x2, ...xN
2 . 8 T C NI C A S DE P ROC ES A MI ENT O DI GI T A L DE I MGENES
, la mediana es aquel valor que
cumple que (N-1)/2 elementos tiene un valor menor o igual a ella y que (N-1)/2 tiene un valor mayor o
menor que la mediana. La mediana se obtiene ordenando las intensidades de los pixeles de menor a
mayor, y el pixel que se encuentra en (N-1)/2 es la mediana [2].
El objetivo de las tcnicas de procesamiento digital de imagen, proviene de dos reas de aplicacin
fundamentalmente: la primera es el mejoramiento de la informacin de una imagen para su
interpretacin y procesamiento; la segunda son los procesos aplicados a imgenes para su
reconocimiento por sistemas computarizados [8]. Este reconocimiento de imgenes, tambin es
conocido como visin por computadora. Actualmente el procesamiento digital de imgenes se ha
desarrollado en suficientes reas de aplicacin como: aeronutica, milicia, comunicaciones, medicina,
entre otras.
2 . 8 . 1 B I NA RI Z AC I ON DE I MGENES Y UMB RA L I Z A CI ON
La binarizacin de imgenes consiste en convertir una imagen de nivel de gris (4 bits/pixel u 8
bits/pixel) a una imagen de blanco y negro. Tambin la binarizacin se entiende como el comparar los
niveles de grises presentes en la imagen con un valor (umbral) predeterminado. Si el nivel de gris de la
imagen es menor al umbral predeterminado, se le asigna al pixel de la imagen binarizada el valor 0
(negro) y si es mayor se le asigna un 1 (blanco).
Este proceso se realiza bsicamente para separar objetos de inters desde de fondo y simplificar
operaciones principales que siguen, tales como reconocimiento o clasificacin de objetos de inters.
Obviamente para algunas aplicaciones que requieren valores de nivel de gris, este proceso no se puede
utilizar. Para realizar la binarizacin, se necesita obtener un valor de pixel adecuado, el cual se llama
valor umbral, y la operacin de seleccin de este valor se llama umbralizacin (Tresholding) [1]. La
operacin bsica de binarizacin se puede escribir como:
Captulo 2
Marco terico

23


B(x,y) = (2.2)

Donde I(x,y) es un pixel de posicin (x,y) de la imagen de nivel de gris I, B(x,y) es la imagen binaria y Th es
el valor del umbral.
Podemos observar en la ecuacin (2.2), el valor del umbral Th juega un papel muy importante para
obtener una buena imagen binaria. Dentro de varios mtodos de umbralizacin propuestos [9], dos
mtodos de umbralizacin: umbralizacin global sencilla y umbralizacin ptima se han usado
ampliamente.

(1) Umbralizacin global sencilla
Umbralizacin global Th se obtiene usando la informacin de histograma de la imagen. Por
ejemplo con el histograma de una imagen se describen varias propiedades de la imagen, con
esto se puede decir que la imagen consiste de un fondo oscuro que corresponde a la
distribucin de valor de pixeles desde 0 hasta T y el objeto claro que corresponde a la
distribucin de valores desde T hasta 256, considerando que se tiene un rango de 0 a 255
valores. En este caso podemos usar el valor T como el valor del umbral Th y se puede obtener
una imagen binaria, donde el objeto de inters tiene solamente el valor 1.

Este mtodo es muy sencillo, sin embargo, en una aplicacin prctica, donde la iluminacin no
es constante, este mtodo no se puede aplicar.

(2) Umbralizacin optima
En este mtodo se usa una funcin de densidad de probabilidad de iluminacin p(z).
Suponiendo que la imagen a analizar consiste en dos grupos de iluminacin: la parte oscura
que corresponde al fondo y parte clara que corresponde al objeto. En este caso, p (z) se puede
escribir como:
p(z) = P1 p1(z) + P2p2(z) (2.3)
Aun considerando p1(z) y p2(z) obedecen a la distribucin Gausiana, la operacin para obtener el valor
umbral optimo no es un proceso trivial. Por lo tanto, para obtener un valor de umbral optimo, la imagen
0 I(x,y) Th
1 I(x,y) > Th
Captulo 2
Marco terico

24


se divide en subimagenes de tamao b x b, y en solo algunas subimagenes que tenga un histograma
bimodal, se calcula el valor umbral usando el mtodo de umbralizacin global sencilla. Finalmente el
proceso de binarizacin se realiza como:

B(x,y) = (2.4)

Donde I(x,y) es un pixel de posicin (x,y) de la imagen de nivel de gris I, B(x,y) es la imagen binaria y Txy es
el valor umbral de la localizacin (x,y) de la imagen [1].
2 . 8 . 2 ETI QUET ADO
Etiquetado (labeling) es una tcnica para agrupar pixeles que pertenecen a un objeto dentro de una
imagen binaria. Para realizar el etiquetado, se tienen que establecer los conceptos de vecindad de un
pixel y conectividad de los pixeles [9].
La operacin de etiquetado se realiza mediante los siguientes procesos:
Proceso 1: Se asigna una etiqueta al primer pixel p1
Proceso 2: Buscar pixeles vecinos de p
encontrado, examinando desde arriba-izquierdo
hacia abajo-derecha.
1, Vp1
Proceso 3: Para todos los pixeles P
usando el concepto de conectividad (4-conectivdad u 8-
conectividad), y asigna la misma etiqueta a ellos.
k Vp1
Aun que el mtodo de etiquetado es muy til para la segmentacin de objetos separados como
caracteres de la palca, en algunos otros casos no se puede utilizar (dependiendo de la imagen), ejemplo
en una imagen con semillas de caf es mejor emplear la segmentacin morfolgica que se refiere a la
extraccin de los componentes conectados representados en el objeto de inters, as como la separacin
de traslape de los objetos y tampoco puede aplicarse a la imagen con nivel de gris [1].
, se repite el proceso 2.
1, Si I(x,y) Txy
0, en otro caso
Captulo 2
Marco terico

25



2 . 8 . 2 . 1 V ECI NDAD DE UN P I X EL
Un pixel p de coordenadas (x,y) tiene cuatro vecinos horizontales y verticales cuyas coordenadas vienen
dadas por:
(x+1,y),(x-1,y),(x,y+1),(x,y-1) (2.5)
Este conjunto de pixeles denominado los 4-vecinos de p, se representan por N4
(x+1,y),(x+1,y+1),(x+1,y-1),(x,y+1) (x,y-1),(x-1,y),(x-1,y+1),(x-1,y-1) (2.6)
(p), cada pixel esta a una
unidad de distancia de (x,y), y algunos de los vecinos de p caen fuera de la imagen digital si (x,y) est en
el borde de la imagen.
2 . 8 . 2 . 2 C ONEC TI V I DA D
La conectividad se emplea para establecer los lmites de los objetos y los componentes de reas en una
imagen. Para determinar si dos pixeles estn conectados, debe determinarse si son adyacentes en algn
sentido (como ser 4-vecinos o ser 8-vecinos) y sus niveles de gris cumplen un criterio especificado de
similitud (como ser iguales). Por ejemplo en una imagen binaria con valores 0 y 1, dos pixeles pueden
ser vecinos pero no estarn conectados a menos que tengan el mismo valor.
Sea V el conjunto de valores de nivel de gris empleados para definir la conectividad; por ejemplo, en
una imagen binaria, se tendr V={1} para la conectividad entre pixeles con valor 1. En una imagen con
escala de grises, para la conectividad entre pixeles con un rango de valores de intensidad de, por
ejemplo, 32 a 64, se tiene V={32, 33, ,63, 64}. Se consideran tres tipos de conectividad:
a) 4-conectividad. Dos pixeles p y q con valores dentro de V estn 4-conectados si q pertenece a
N4(p).
b) 8-conectividad. Dos pixeles p y q con valores dentro de V estn 8-conectados si q pertenecen a
N8(p).
c) M-conectividad (conectividad mixta). Dos pixeles p y q con valores dentro de V estn M-
conectados si
q pertenece a N4(p), o bien
q pertenece a ND(p) y adems el conjunto N4(p)nN4(q) es vacio (este es el conjunto de
pixeles que son 4-adyacentes de p y de q cuyos valores estn en V).
Captulo 2
Marco terico

26

La conectividad mixta es una modificacin de la 8-conectividad que se introdujo para eliminar los
mltiples caminos de conexin que aparecen a menudo cuando se emplea la 8-conectividad.
Un pixel p es adyacente de un pixel q si estn conectados. Se puede definir 4-adyacentes, 8-adyacencia
o m-adyacencia, dependiendo del tipo de conectividad especifica.
2 . 8 . 3 EL I MA CI ON DE RUI DO
Casi todas las imgenes tienen cierta cantidad de ruido, la cual se puede deber a la cmara o al medio
de transmisin de la seal. Generalmente el ruido se manifiesta como pixeles aislados que toman un
nivel de gris diferente al de sus vecinos. Los algoritmos de filtrado permiten eliminar o disminuir este
ruido.
La mayora de las tcnicas de eliminacin de ruido estn enfocadas a la eliminacin de ruido introducido
durante la transmisin de seal o imagen. Sin embargo en este trabajo de tesis, la degradacin de la
imagen ocurre al momento de capturar la imagen con la cmara IP, el proceso de binarizacin y el
proceso de segmentacin, entre otros, y la degradacin de la imagen por diferentes causas (placa
deteriorada, o placa golpeada) se considera como ruido. En esta seccin, se enfoca la eliminacin de
ruido introducido al momento de la captura de la imagen.
2 . 8 . 3 . 1 TI P OS DE RUI DO
El ruido puede clasificarse en los siguientes tipos:
Gaussiano. Produce pequeas variaciones en la imagen; generalmente se debe a ganancias en la
cmara IP, ruido en los digitalizadores, perturbaciones en la transmisin, entre otros. Se considera que
el valor final del pixel seria el ideal mas una cantidad correspondiente al error puede describirse como
una variable aleatoria gaussiana.
Sal y pimienta. El valor que toma el pixel no tiene relacin con el valor ideal, sino con el valor del ruido
que toma valores muy altos y bajos (puntos blancos y/o negros) causados por una saturacin del sensor
o por un valor minimo captado, si se ha perdido la senal en ese punto. Se encuentra tambin al trabajar
con objetos a altas temperaturas, ya que las cmaras tienen una ganancia en el infrarrojo que no es
detectable por el ojo humano; por ello las partes mas calientes de un objeto pueden llegar a saturar un
pixel.
Multiplicativo. La imagen obtenida es el resultado de la multiplicacin de las seales.
Captulo 2
Marco terico

27



(a) (b)

(c) (d)

Figura 2.3 (a) Imagen original, (b) Ruido gaussiano, (c) Ruido sal y pimienta, (d) Ruido multiplicativo.

En la figura 2.3 las imgenes estn sujetas a diferentes tipos de ruido. Algunos son independientes de la
imagen, pero otros no, algunos estn sin correlacin punto a punto, mientras otros son coherentes. En
los siguientes prrafos se mencionan algunos ejemplos de tipos usualmente encontrados de ruido [10].
Cuando una imagen es transmitida, el ruido del canal de introduce su valor es generalmente
independiente de la potencia de la seal de la imagen. Esta situacin es similar cuando una imagen es
escaneada. En este caso, podemos escribir g = f + v, donde la imagen obtenida con ruido se construye
con el ruido v y la imagen de entrada f, los cuales no estn correlacionados.
Una ilustracin de los efectos independientes del ruido en la imagen se muestra en la figura 2.4. Aqu las
barras tienen niveles de gris contantes llamados s y el espacio tiene niveles de gris r. En la figura 2.4
cada punto tiene un nivel de gris incrementando o decrementando por un valor z elegido aleatoriamente
Captulo 2
Marco terico

28

para quedar en el rango |z|(s-r), para varios valores de . Note incluso cuando el rango de niveles de
ruido excede la diferencia entre las barras y el fondo, las barras todava son visibles.
Tales estimaciones requieren algunos grados de conocimiento sobre la estadstica de la imagen y el
ruido, sabemos que el ruido de la imagen contiene una gran regin de niveles contrastes de gris,
podemos obtener alguna idea en la estadstica del ruido por el anlisis de las variaciones de nivel de gris
en la regin correspondiente del ruido de la imagen. Por ejemplo si asumimos que el ruido tiene una
distribucin Gaussiana con una media cero, la desviacin estndar es solo la desviacin estndar de esas
variaciones. Tambin es posible estimar la correlacin del ruido y el espectro de potencia, midiendo la
autocorrelacin y la potencia del espectro del ruido de la imagen sobre la regin dada.
En muchos casos los niveles de ruido no dependen de la seal de la imagen; si el ruido es proporcional a
la seal, g = f + v1f, tenemos g = f (1+ v1) = fv podemos considerar esta situacin como ruido sin correlacin
que es multiplicativo en lugar de aditivo. Un ejemplo sencillo es el ruido coherente en una imagen de
televisin debido al rastro de las lneas; aqu v es un patrn de barras que tiene el mximo en el rastro
de las lneas y ceros entre ellas.

a) b)

c) d) e)
Captulo 2
Marco terico

29


f) g) h)


i) j) k)
Figura 2.4 Ruido independiente a) Patrn de barras espacio entre niveles de gris r, niveles de gris de barras s, b) k)
Resultados de incremento o decremento de los niveles de gris para cada punto de a) por un incremento z
aleatoriamente elegido de un intervalo |z|(s-r), para = 1,2, 10.

A menudo se quiere convertir una imagen con nivel de gris en una imagen binaria, la imagen resultante
puede ser considerara como compuesta de objetos negros y el fondo en blanco o viceversa. Si la imagen
original fuera muy ruidosa, la regin negra puede incluir puntos blancos dispersos, y la regin blanca
contiene puntos negros, este fenmeno es conocido como ruido sal y pimienta. Un ejemplo de este tipo
de ruido se muestra en la figura 2.5. En la figura 2.5 muestra un patrn con barras negras y blancas en
las cuales una fraccin p que indica porcentajes de puntos blancos dentro de una regin negra y
viceversa. La figura 2.6 (a)-(f) muestra imagen con ruido de diferentes valores de p(p=0, 0.1, 0.2, 0.3,
0.4, 0.5) [1].
Captulo 2
Marco terico

30


a) b) c)

d) e) f)

Figura 2.5 Ruido impulsivo. a) Patrn de barras blancas y negras, b)-f) Resultado del cambio de la fraccin p de
puntos negros de a) a blancos, y viceversa para p = 0, 0.1, 0.2, 0.3, 0.4, 0.5.
2 . 8 . 4 MET ODOS DE EL I MI NA CI N DE RUI DO
Existen varios mtodos para la eliminacin de ruido, la mayora de estos mtodos consiste de filtrado de
imgenes, usando filtros lineales o filtros no lineales. Los filtros lineales como el filtro promedio son
menos complejos comparados con filtros no-lineales, sin embargo cuando se aplica un filtro lineal a la
eliminacin de ruido, el detalle de la imagen no se conserva la suficiente, o sea que la imagen filtrada se
hace borrosa. En cambio el filtro no lineal, tales como el filtro mediano, el filtro Stack, entre otros
pueden eliminar ruido del tipo impulsivo, como sal y pimienta preservando el detalle de la imagen como
se muestra en la figura 2.6. Sin embargo normalmente tienen mayor complejidad que los filtros lineales
[11], [12]. Para disear un filtro lineal optimo para eliminacin de algn tipo de ruido, se requieren
algunos grados de conocimiento sobre las estadsticas de la imagen y el ruido, en la mayora de los
casos prcticos esta informacin no est disponible [1].
Captulo 2
Marco terico

31



a) b)

c) d)

e) f)
Captulo 2
Marco terico

32


g) h)
Figura 2.6 Comparacin de los mtodos de eliminacin de ruido.

2 . 8 . 5 P ROC ES A MI ENT O ES P A CI A L
El procesamiento espacial est formado por aquellas tcnicas que operan directamente sobre los valores
de los pixeles de la imagen. Las transformaciones son de la siguiente forma:
S(x, y)= F(I (x, y)) (2.7)
Donde I(x,y) es la imagen original, S(x,y) la imagen resultante y F la transformacin.
2 . 8 . 5 . 1 OP ERA C I ONES A RI TMTI C A S , L GI C A S Y T RA NS F ORMA C I ONES
GEOMT RI C A S
Las operaciones aritmticas ms usadas en el procesamiento de imgenes son: suma, resta,
multiplicacin y divisin. Para que se pueda llevar a cabo una operacin aritmtica, ambas imgenes
deben ser del mismo tamao.
2 . 9 REDES NEURONA L ES
Existen diferentes mtodos para el reconocimiento de patrones, cada uno con sus propias ventajas y
limitaciones. En el trabajo presente, para el reconocimiento de placas vehiculares se ha utilizado una red
neuronal multicapa con el algoritmo de retropropagacin. Para tener una visin ms amplia sobre la red
neuronal artificial en esta seccin se revisaran sus principales caractersticas, elementos y sus
aplicaciones.

Captulo 2
Marco terico

33

2 . 9 . 1 C ONC EP T O
Con las diferentes lneas de investigacin sobre el desarrollo de maquinas que lleven a cabo ciertas
funciones que realiza el ser humano, no se trata de que estos mtodos compitan con los seres humanos
sino de que desarrollen ciertas tareas que les d cierto rango de intelectual para ayudarle a este ultimo.
La red neuronal artificial, clula o autmata, es un elemento que posee un estado interno, llamado nivel
de activacin y recibe seales que permiten, en su caso, cambiar de estado.
Si se denomina S al conjunto de estados posibles de la neurona, S podra ser por ejemplo S = {0,1}
siendo 0 el estado inactivo y 1 el activo. S tambin puede tomar un mayor nmero de valores S = {0, 1,
2, 3,., n} para representar, por ejemplo, una imagen con n+1 nivel de gris, o incluso un intervalo
continuo de valores, por ejemplo S = [0, 1].
Las redes neuronales artificiales son esencialmente redes simples, como un arreglo de de procesadores
neurales e interconectados en paralelo. Las redes neuronales se basan en el nivel actual del
conocimiento del cerebro humano. Las redes neuronales han causado inters en las lneas de
investigacin para resolver una amplia gama de problemas, as como para ayudar a mejorar nuestra
comprensin del cerebro humano.
Desde las primeras etapas de desarrollo en la dcada de 1970, el inters en las redes neuronales se ha
extendido a travs de muchos campos, debido a la velocidad de procesamiento y capacidad de resolver
problemas complejos. El xito de los resultados que esta pueda tener es demasiado dependiente del
proceso de entrenamiento utilizado. Estos efectos pueden ser minimizados a travs de un diseo
cuidadoso.
Las redes neuronales pueden utilizarse para construir sistemas que sean capaces de clasificar los datos
en un determinado conjunto o en una clase, en el caso de la deteccin de placas vehiculares, se tiene
que identificar una serie de caracteres pertenecientes a una determinada clase.
Las redes neuronales poseen una funcin que les permite cambiar de nivel de activacin a partir de las
seales que reciben; a dicha funcin se le denomina funcin de transicin de estado o funcin de
activacin. Las seales que reciben cada neurona puede prevenir del exterior o de las neuronas a las
cuales esta conectada. El nivel de activacin de una neurona depende de las entradas recibidas y de los
valores sinpticos, pero no de anteriores valores de estado de activacin.
Captulo 2
Marco terico

34


Las redes neuronales consisten en interconexiones en paralelo de procesadores neurales simples. Las
neuronas tienen muchas entradas ponderadas, es decir cada entrada (p1, p2, p3, , pn) tienen una
ponderacin relacionada (w1, w2, w3, ., wn). Cada una de las entradas es un escalar, en representacin de
los datos. En el caso de la deteccin de placas vehiculares, cada entrada representa el vector
caracterstico de un carcter.
2 . 9 . 2 A L GORI TMO RET ROP ROP A GA C I N
El mtodo retropropagacin (entrenamiento hacia atrs) es un sistema automtico de entrenamiento de
redes neuronales con capas ocultas, mismo que fue perfeccionado en la poca de los 80.
Una red neuronal de tipo retropropagacin permite aprender mediante un conjunto de ejemplo (entrada-
salida) comnmente conocido como training set. Al haber aprendido mediante este conjunto, se puede
obtener una salida coherente para una entrada dada.
El algoritmo de retropropagacin consiste en:
Iniciar con pesos sinpticos cualquiera (generalmente elegidos al azar)
Introducir datos de entrada que se utilizaran para la fase de entrenamiento
Permitir que la red genere un vector de datos de salida (propagacin hacia adelante)
Comparar la salida de la red con la salida deseada
La diferencia entre la salida generada y la deseada (denominada error) se usa para ajustar los
pesos sinpticos de las neuronas de la capa de salida
El error se propaga hacia atrs (retropropagacin) hacia la capa de neuronas anterior y se usa
para ajustar los pesos sinpticos en esta capa
Se continua propagando el error hacia atrs y ajustando los pesos hasta que se alcance la capa
de entrada
La informacin que almacena el aprendizaje de una red se encuentra en los pesos Wi,j. El objetivo del
proceso de entrenamiento es minimizar el error de la prediccin y para ello se modifican los pesos de la
red. El proceso de entrenamiento es iterativo.


Captulo 2
Marco terico

35

C ONC L US I ONES
En el capitulo anterior se revisaron los conceptos bsicos de procesamiento de imgenes, las diferentes
tcnicas que existen, as como los mtodos de reconocimiento de caracteres; ya que estos tienen
presencia fundamental en el trabajo presente.

Es importante analizar las formulas matemticas de los algoritmos propuestos, ya que una parte
fundamental de un sistema propuesto es el tiempo de respuesta que va directamente relacionado con el
procesamiento que puedan implicar cada uno sus procesos. De las tcnicas de procesamiento de
imgenes mencionadas en el capitulo anterior se estn utilizando las que mejor tuvieron resultados en
las evaluaciones experimentales que se fueron realizando, de igual forma se fue ideando algoritmos
propuestos que resuelven problemas especficos que se presentaron en el trabajo presente, esto
partiendo de los conceptos bsicos y las operaciones bsicas que pueden realizarse en el procesamiento
de imgenes, para el mtodo de reconocimiento se utilizar una red neuronal que ha presentado altos
porcentajes de reconocimiento en los trabajos revisados.
REF ERENC I A S
[1] Noem Vzquez Tecpanecatl, Mariko Nakano Miyatake, Hctor Manuel Prez Meana, Sistema
automtico de localizacin y reconocimiento de placas de automviles Mxico DF, Mayo 2002
[2] Juan Garca Lpez, Procesamiento digital de seales
[3] Yuras, G., Introduccin a la percepcin remota del ocano, Principios de procesamiento digital de
imgenes, Universidad de Chile 2002
[4] Anil K., Fundamentals of Digital Image Processing Prentice Hall, United States of America, 1989
[5] Lindley C. A. Practical Image Processing in C Jhon Wiley & Sons, Inc., United States of America
[6] Schalkoff R. Digital Image Processing and computer vision Wiley United States of America, 1989
[7] Crdoba C. Gnesis y desarrollo del procesamiento y Anlisis de Imgenes Digitales, 1995
[8] G. Vzquez, "Realce de imgenes utilizando tcnicas de Mascaras", Capitulo 3, Tesis de Maestra,
pg. 31-36. CITEDI-IPN, 1995.
Captulo 2
Marco terico

36

[9] R. C. Gonzlez, R. E. Woods, Digital Image Processing, Addison Wesley, pp. 40, 41, 444, 455,
1992.
[10] A. Rosenfel, A. C. Kak, Digital Picture Processing, Academic Press, 2 Edicin Vol. 1, pp 218, 219,
221.
[11] M. G. Lee, Mtodo para la aceleracin de la convergencia de los filtros stack, Capitulo 3, Tesis de
Maestra, pg. 64-65, ESIME Culhuacan, Agosto 2001.
[12] M. G. Lee Mtodo para la aceleracin de la convergencia de los filtros stack, Capitulo 3, Tesis de
Maestra, pg. 66-68, ESIME Culhuacan, Agosto 2001.

Captulo 4
Resultados

72

C A P I TUL O 4
RES UL T ADOS


I n t r o d u c c i n


El ultimo capitulo del trabajo presente se refiere a la presentacin de los resultados obtenidos.
Inicialmente se muestran los algoritmos propuestos para el procesamiento y mejoramiento de imgenes,
junto con su evaluacin y la descripcin de las pruebas a las que fueron sometidos, en diferentes
circunstancias.

Para el procesamiento de imgenes se considera la obtencin de la imagen, la binarizacin, la
segmentacin, filtro de eliminacin de ruido, la restauracin y codificacin de los caracteres.

Para el proceso de entrenamiento y evaluacin se muestran los vectores caractersticos obtenidos y la
similitud que estos presentan, a pesar de tener tamaos diferentes. Se muestran los resultados
obtenidos con la tcnica de codificacin propuesta, las condiciones de entrenamiento de la Red Neuronal
Artificial, as como el numero de patrones con las que se realizo el proceso de entrenamiento y
evaluacin de la Red Neuronal, neuronas de entrada, las capas ocultas, las capas de salida y los valores
que se utilizaron para el umbral (error cuadrtico medio) de oscilacin de entrenamiento.

La mayora de las evaluaciones aplicadas, resultan exitosas considerando los acotamientos que fueron
definidos al inicio de este trabajo; la mayora de los algoritmos fueron desarrollados y propuestos como
una forma de solucin al trabajo presente.

Por ltimo, se presentan las conclusiones generales respecto a todo el trabajo realizado as como las
pautas y sugerencias para trabajos futuros en cuanto a mejoras posibles.





Captulo 4
Resultados

73


4 . 1 L OC AL I Z AC I N DE P L A C A

El algoritmo de localizacin de la placa, representa una parte fundamental para el xito de
reconocimiento de los caracteres [1].

Como se menciono en captulos anteriores, el presente trabajo esta acotado a ciertas condiciones para la
adquisicin de las imgenes capturadas, que se usaron para la evaluacin del algoritmo de localizacin
de placa. En la tabla 4.1 se describen las condiciones de captura.


Altura Distancia Angulo
Mnimo 0.7 m. 0.3 m. 0
Mximo 0.9 m. 0.96 m. 35

Tabla 4.1. Condiciones de adquisicin de imagen.

La Base de Datos de las imgenes capturadas consta de 520 placas vehiculares, siendo estas expuestas
a los rengos de acotamiento en lo que corresponde a la altura, distancia y ngulo que existe entre la
cmara IP y el vehculo. Del total de las imgenes de la Base de Datos se obtuvo un xito de localizacin
de placa en 479 imgenes, es decir que del 100% de las placas un 92.1% fueron localizadas. En la
figura 4.1 se muestran los porcentajes de acierto correspondiente a la localizacin de placa.




Figura 4.1. Resultados de localizacin de la placa vehicular.
Imgenes
Capturadas 520
Localizadas 479
520
479
0
100
200
300
400
500
600
Imgenes de vehculos
Capturadas
Localizadas
Captulo 4
Resultados

74


En el siguiente apartado se muestran los resultados obtenidos del algoritmo de localizacin de la placa.
En algunos casos se muestra las condiciones de luminancia, distancia, ngulo, estado fsico de la placa,
entre otras.


4 . 1 . 1 RES UL T A DOS DE L OC AL I Z AC I N DE P L A C A C ON I M GENES
GI RA DA S


a)


b)


Figura 4.1.1.1. Imagen capturada con la luz del da, placa girada del lado derecho. a) Imagen Original b) Imagen de placa
localizada.



a)
Captulo 4
Resultados

75



b)

Figura 4.1.1.2. Imagen capturada con la luz del da, placa girada del lado izquierdo. a) Imagen Original b) Imagen de placa
localizada.


a)


b)


Figura 4.1.1.3. Imagen capturada con la luz del da, placa girada del lado derecho. a) Imagen Original b) Imagen de placa
localizada.


Captulo 4
Resultados

76



a)



b)

Figura 4.1.1.4. Imagen capturada con la luz del da, placa girada del lado derecho. a) Imagen Original b) Imagen de placa
localizada.



a)

Captulo 4
Resultados

77



b)

Figura 4.1.1.5. Imagen capturada tarde-noche, con faros encendidos, placa girada del lado derecho. a) Imagen Original b) Imagen
de placa localizada.




a)


b)

Figura 4.1.1.6. Imagen capturada tarde-noche, con faros encendidos, placa girada del lado derecho. a) Imagen Original b) Imagen
de placa localizada.



4 . 1 . 2 RES UL T ADOS DE L OC A L I Z A CI N DE P L A C A C ON I MGENES DE
F RENT E



Captulo 4
Resultados

78



a)


b)

Figura 4.1.2.1. Imagen capturada luz de da. a) Imagen Original b) Imagen de placa localizada.


a)
Captulo 4
Resultados

79



b)
Figura 4.1.2.2. Imagen capturada luz de da. a) Imagen Original b) Imagen de placa localizada.


a)

b)
Figura 4.1.2.3. Imagen capturada luz de da. a) Imagen Original b) Imagen de placa localizada.

Captulo 4
Resultados

80

4 . 1 . 3 RES UL T ADOS DE L OC A L I Z A CI N DE P L A C A C ON I MGENES C ON
DES GA S T E F I S I C O


a)

b)
Figura 4.1.3.1. Imagen con desgaste fsico. a) Imagen Original b) Imagen de placa localizada.


a)
Captulo 4
Resultados

81



b)
Figura 4.1.3.2. Imagen girada con desgaste fisico. a) Imagen Original b) Imagen de placa localizada.


a)



b)
Figura 4.1.3.3. Imagen faros encendidos, placa con desgaste fisico. a) Imagen Original b) Imagen de placa localizada.

Captulo 4
Resultados

82



a)

b)
Figura 4.1.3.4. Imagen con desgaste fisico. a) Imagen Original b) Imagen de placa localizada.

4 . 1 . 4 RES UL T ADOS DE L OC A L I Z A CI N DE P L A C A C ON I MGENES DE
DI F ERENT E RES OL UC I N


a)
Captulo 4
Resultados

83



b)
Figura 4.1.4.1. Imagen capturada con celular de 2 Mp. a) Imagen Original b) Imagen de placa localizada.


a)

b)
Figura 4.1.4.2. Imagen capturada con cmara digital de 3 Mp. a) Imagen Original b) Imagen de placa localizada.

Captulo 4
Resultados

84



a)

b)
Figura 4.1.4.3. Imagen capturada de noche con flash de cmara digital de 5 Mp. a) Imagen Original b) Imagen de placa
localizada.

Captulo 4
Resultados

85



a)

b)
Figura 4.1.4.4. Imagen capturada con cmara digital de 7 Mp. a) Imagen Original b) Imagen de placa localizada.

En la tabla siguiente se listan una serie de sistemas propuestos para localizacin de la placa, tambin se
menciona el porcentaje de acierto y se compara con el sistema propuesto.


Captulo 4
Resultados

86

Algoritmo Porcentaje
Sistema Basado TDNNs [3] 90.1%
Algoritmo Basado en reglas [4] 84.2%
Sistema basado SLGST [5] 90.7%
Sistema Basado en Histogramas [6] 84.6%
Sistema Basado en Variaciones de
intensidad [1]
91.3%
Sistema de Reconocimiento de placas
basado en NN [7]
91.7%
Sistema propuesto 92.1%


4 . 1 . 5 RES UL T ADOS DE L OC A L I Z A CI N DE P L A C A C ON I MGENES DE
P L A C A S A CT UAL ES .


En esta seccin se muestran las fortalezas del algoritmo de localizacin de placa y el umbral
determinado para realizar la binarizacin no se afectan ya que en este ejercicio se usan placas actuales
de vehculos de la ciudad de Mxico.


a)

Captulo 4
Resultados

87



b)


c)

Figura 4.1.5.1. a) Imagen Original b) Imagen de placa localizada c) binarizacin de imagen.

Captulo 4
Resultados

88



a)


b)

Captulo 4
Resultados

89



c)

Figura 4.1.5.2. a) Imagen Original b) Imagen de placa localizada c) binarizacin de imagen.



a)

Captulo 4
Resultados

90



b)


c)

Figura 4.1.5.3. a) Imagen Original b) Imagen de placa localizada c) binarizacin de imagen.




4 . 1 . 6 RES UL T ADOS DE L OC A L I Z A CI N DE P L A C A C ON I MGENES
F UERA DE L A S C ONDI CI ONES A C OT A DAS

A pesar de que al inicio del presente trabajo se acotaron las condiciones en las que el algoritmo de
localizacin de placa es funcional, en este apartado se mostraran un par de imgenes que rebasan la
distancia limite a la que reconoce el algoritmo.


Captulo 4
Resultados

91

a)

b)

Figura 4.1.6.1. Imagen capturada a una distancia de 1 m. a) Imagen Original b) Imagen de placa localizada.


a)

b)
Figura 4.1.6.2. Imagen capturada a una distancia de 1.38m. a) Imagen Original b) Imagen de placa localizada.



Captulo 4
Resultados

92



a)

b)
Figura 4.1.6.3. Imagen capturada a una distancia de 1.25m. a) Imagen Original b) Imagen de placa localizada.

4 . 1 . 7 RES UL T ADOS DE L OC A L I Z A CI N DE P L A C A C ON I MGENES EN
MA L A S C ONDI C I ONES

En este apartado se muestran imgenes de placas con desgaste fsico en mayor condiciones el algoritmo
es incapaz de ubicar la localizacin de la placa.

Captulo 4
Resultados

93


a)

b)
Figura 4.1.7.1. Imagen con desgaste fsico. a) Imagen Original b) Resultado de placa localizada.


a)
Captulo 4
Resultados

94


b)
Figura 4.1.7.2. Imagen capturada de noche con desgaste fsico. a) Imagen Original b) Resultado de placa localizada.


a)

b)
Figura 4.1.7.3. Imagen capturada a una distancia de 1.42m. a) Imagen Original b) Resultado de placa localizada.


4 . 2 RES UL T ADOS DE B I NA RI Z A C I N Y S EGMENT AC I N DE
C A RA C T ERES


Captulo 4
Resultados

95


a)






b)
Figura 4.2.1. a) Imagen Binarizada b) Segmentacin de caracteres.


a)

b)
Figura 4.2.2. a) Imagen Binarizada b) Segmentacin de caracteres.


Captulo 4
Resultados

96

a)

b)
Figura 4.2.3. a) Imagen Binarizada b) Segmentacin de caracteres.


4 . 3 RES UL T ADOS DE EL I MI NAC I N DE RUI DO Y RES T A URAC I N DE
C A RA C T ERES



En esta seccin primeramente se muestran los caracteres de una placa vehicular, capturada de noche,
donde los caracteres tienen bastante ruido sal y pimienta.










a)

b)
Figura 4.3.1. a) Caracteres con ruido sal y pimienta b) Eliminacin de ruido y restauracin de caracteres.


Captulo 4
Resultados

97

A continuacin se muestra una tabla donde se muestran los caracteres con ruido sal y pimienta, y
posteriormente se muestra el resultado de la evaluacin del algoritmo que elimina el ruido y realiza la
restauracin de los caracteres.

Original Reconstruido Tamao


63 x 25


42 x 17


30 x 12


41 x 18


33 x 14


31 x 12


58 x 24
Captulo 4
Resultados

98



118 x 55


41 x 18


41 x 17


382 x 165


125 x 52


382 x 163


40 x 11


57 x 17
Captulo 4
Resultados

99



42 x 18


41 x 18


42 x 17


37 x 14


402 x 167


58 x 25


121 x 54


31 x 12
Captulo 4
Resultados

100



409 x 194

Tabla 4.3.1. Muestra de resultados de eliminacin de ruido y restauracin en los caracteres.


4 . 4 RES UL T ADOS DE C ODI F I C A C I N Y REC ONOC I MI ENT O DE
C A RA C T ERES

En esta seccin se muestran los resultados de la codificacin de caracteres; inicialmente el carcter se
divide en 4 ventanas, y posteriormente cada ventana se divide en 4 subventanas, teniendo un total de
16 ventanas, para despus obtener el promedio de pixeles negros y a su vez formar los vectores
caractersticos.





Figura 4.4.1. Numero 2 dividido en 4 ventanas.


Captulo 4
Resultados

101






Figura 4.4.2. Numero 2 dividido en 16 ventanas.

Captulo 4
Resultados

102



Figura 4.4.3. Grafica de vector caracterstico del numero 2.

A continuacin se muestra los resultados con la letra J.



Figura 4.4.4. Letra J dividida en 4 ventanas.


Captulo 4
Resultados

103





,

Figura 4.4.5. Letra J dividida en 16 ventanas.


Captulo 4
Resultados

104



Figura 4.4.6. Grafica de vector caracterstico de la Letra J .

A continuacin se muestran las graficas de 20 repeticiones del carcter con resoluciones diferentes.

Figura 4.4.7. Grafica de vector caracterstico de Nmero 5.

Captulo 4
Resultados

105


Figura 4.4.7. Grafica de vector caracterstico de Numero 1.


Captulo 4
Resultados

106

Figura 4.4.6. Grafica de vector caracterstico de la letra E.


Figura 4.4.6. Grafica de vector caracterstico de la letra X.

Despus de realizar la codificacin de los caracteres segmentados, los vectores caractersticos obtenidos
se utilizan para el entrenamiento de la Red Neuronal Artificial Backpropagation.

Para la etapa de entrenamiento se consideran 20 patrones por cada uno de los 33 caracteres, teniendo
un total de 660 patrones de entrada.

Para el proceso de entrenamiento se generaron varios escenarios en los que se tuvieron parmetros
distintos para la RNA, esto debido a los tiempos de ejecucin y el porcentaje de reconocimiento que se
fueron obteniendo. Se construyo una matriz de pesos constituida por letras y nmeros, para lo que se
considero en la capa de entrada 17 neuronas incluyendo el bias, 14 neuronas en la capa oculta y 33
neuronas en la capa de salida, as como un =0.005, el proceso de entrenamiento se detiene cuando el
error cuadrtico medio menor es menor a 0.1277, los parmetros antes mencionados fueron con los que
presento un menor tiempo de ejecucin y un mayor porcentaje de reconocimiento.

Captulo 4
Resultados

107

Para la etapa de evaluacin se consideran 10 patrones por cada uno de los caracteres, dichos patrones
no fueron utilizados en el proceso de entrenamiento de la RNA. En la tabla 4.3.2 se muestran las
condiciones con las que se realizo el proceso de entrenamiento y los resultados en el proceso de
evaluacin.

Neuronas Reconocimiento
Descripcin Entrada Capa Oculta Salida Miu Umbral Entrenados Desconocidos
Letras 16 10 23 0.005 0.2 100% 95.21%
Nmeros 16 4 10 0.005 0.1 100% 100%
Letras y
Nmeros 16 14 33 0.005 0.5 99.69% 97.27%
Letras 16 14 23 0.005 0.1 100% 99.13%
Nmeros 16 14 10 0.005 0.1 100% 100%
Letras y
Nmeros 16 14 33 0.005 0.1277 99.84% 98.78%

Tabla 4.3.2. Resultados de reconocimiento con la RNA Backpropagation.
En la fila ltima de la tabla anterior se muestran las condiciones con las que se obtuvo un mayor
porcentaje de reconocimiento. El carcter no reconocido fue la letra B teniendo falsos negativos.

ENTRENADOS
Patrn 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
2 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
3 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
4 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
5 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
6 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
7 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
8 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
9 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
0 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
A [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
B [ok] [ok] [fail] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
C [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
D [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
E [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
F [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
G [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
H [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
Captulo 4
Resultados

108

J [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
K [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
L [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
M [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
N [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
P [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
R [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
S [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
T [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
U [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
V [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
W [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
X [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
Y [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
Z [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
a)
DESCONOCIDOS
Patrn 21 22 23 24 25 26 27 28 29 30
1 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
2 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
3 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
4 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
5 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
6 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
7 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
8 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
9 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
0 [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
A [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
B [ok] [fail] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
C [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
D [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
E [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
F [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
G [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
H [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
J [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
K [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
L [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
M [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
N [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
Captulo 4
Resultados

109

P [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
R [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
S [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
T [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
U [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
V [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
W [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
X [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
Y [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
Z [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok] [ok]
b)
Tabla 4.3.3. a) Resultado de caracteres utilizados en el proceso entrenamiento b) Resultado de caracteres no utilizados
en el proceso de entrenamiento.

4 . 5 T RA B A J O A F UTURO
Como trabajo a futuro del presente trabajo de tesis se proponen los siguientes puntos:
Adems de el anlisis de imgenes, utilizar video para la localizacin de la placa vehicular
Hacer pruebas del algoritmo de localizacin de placa con placas de otros estados
Utilizar la transformada de Hough para las placas que estn golpeadas
Continuar el estudio de los filtros para el mejoramiento de los caracteres

Cabe recalcar que en el transcurso del trabajo presente se realizaron pruebas experimentales de la
transformada de Hough [2], dicha transformada fue utilizada para mejorar el contraste de placas
golpeadas. La transformada de Hough se estimo como:

x cos + y sin = p
Donde X y Y son los valores de grises en la posicin i, j de la imagen.
Es ngulo que se utiliza en la formula.
P es el nuevo valor del pixel en la posicin i, j

Se muestran unos ejemplos a continuacin:
Captulo 4
Resultados

110


a)

b)
Figura 4.5.1. a) Placa doblada de la parte superior derecha b) Placa con aclaracin de contraste usando la
transformada de Hough.

Captulo 4
Resultados

111


a)


b)

c)

Figura 4.5.2. Resultado de imgenes utilizando la transformada de Hough con diferentes ngulos a) 40 b)
35 c) 30.





Captulo 4
Resultados

112


C ONC L US I ONES

En el captulo anterior se mostraron los resultados de las evaluaciones a las que se sometieron los
algoritmos propuestos; as como las condiciones en las que se realizaron las pruebas experimentales del
presente trabajo.

A travs del desarrollo de las pruebas se visualizaron problemas no contemplados, como el ruido que se
muestra en las imgenes de captura, para cuando la adquisicin se realiza de noche. Sin embargo se
solventaron cada uno de los problemas presentados con la implementacin de filtros que permiten
eliminar de los caracteres informacin no deseada. Los porcentajes de acierto para la localizacin y el
reconocimiento de placas son bastante viables, por lo que se muestra que el sistema propuesto puede
ser aplicado a cualquier punto de acceso vehicular.

Es evidente que para los escenarios que estn fuera de los lmites de acotamiento del proyecto, los
resultados no son los esperados, por ello al inicio del proyecto se mencionan los acotamientos para el
correcto funcionamiento del presente trabajo.

REF ERENC I A S

[1] Noem Vzquez Tecpanecatl, Mariko Nakano Miyatake, Hctor Manuel Prez Meana, Sistema
automtico de localizacin y reconocimiento de placas de automviles Mxico DF, Mayo 2002

[2] Richard O. Duda, Peter E. Hart (1971) Use of the Hough transformation to detect lines and curves in
pictures

[3] S. Park, K. Kim, K. Juang and H. Kim: Locating car License plate using neural networks, Electronics
Letters, Vol. 35, No. 17, pp. 1475-1477, 1999.

[4] D-S. Kim. I. Choi and S-I. Chien: Correction and extraction of perspectively distorted license plates
usen scan line based generalized symmetry transform, IEICE Trans. INF & SYST, Vol. E85-D, No. 11, pp.
1776-1783, 2002.

Captulo 4
Resultados

113


[5] S. Mori, C. Suen and K. Yamamoto: Historical review of OCR research and development,
Proceedings of the IEEE, Vol. 80, No. 7, pp. 1029-1058, 1992.

[6] G. Garibotto, P. Castello, E. Del Ninno, P. Pedrazzi and G. Zan: Speed-vision: Speed measurement
by license plate Reading and tracking, Proc. Of IEEE Itelligent Transportation Systems Conference
Proceedings, pp. 585-590, 2001.

[7] Hakan Caner, H. Selcuk Gecim, Ali Ziya Alkar Efficient Embedded Neural-Network-Based
License Plate Recognition System, Ankara Turquia, Septiembre 2008


Captulo 5
Conclusiones generales

114

C A P I TUL O 5
C ONC L US I ONES GENERA L ES



Al trmino del desarrollo e implementacin del sistema propuesto en el presente trabajo, se tienen
diversas conclusiones.

El sistema de reconocimiento de placas vehiculares para la ciudad de Mxico est basado en dos grandes
ramas de la ciencia, el procesamiento de imgenes y el entrenamiento y evaluacin de patrones.

Durante el desarrollo del proyecto, se encontraron una serie de obstculos, que van desde la distancia,
el ngulo con los que se capturaban las imgenes de los vehculos, por ello fue de vital importancia
acotar las condiciones de captura. Durante la adquisicin de las imgenes se observo que hay placas
maltratadas y/o con desgaste fsico lo cual al binarizar la imagen ocasiono tener informacin no deseada
en los caracteres. La mayora de las fotos que se obtuvieron de noche, al utilizar el flash de la cmara el
realce de las placas ocasionaban tener ruido sal y pimienta en los caracteres. Por las inconsistencias
mencionadas anteriormente fue necesario desarrollar e implementar un filtro de eliminacin de ruido, as
como el desarrollo de un algoritmo que permitiera la restauracin de los caracteres. Con el desarrollo de
estos algoritmos los caracteres al final presentaron mucha menos informacin no deseada, lo cual
contribuira a un mejor reconocimiento.

El algoritmo de localizacin de placa result funcional en las condiciones determinadas al inicio del
trabajo presente; las placas fueron localizadas con la captura de vehculos con distancias y ngulos
diferentes. El algoritmo se basa en las variaciones de intensidad de la imagen en su escala de grises, lo
cual se deduce que es una buena tcnica de anlisis en dicho formato de la imagen.

En el proceso de binarizacin se comprob el buen funcionamiento del umbral que se determino para
eliminar el fondo de la placa vehicular (figura de monumento de la independencia), la evaluacin se
realizo con todas las placas obtenidas. Para la segmentacin de los caracteres se propuso un mtodo
diferente a los existentes, donde se obtiene el alto y ancho del carcter para as determinar las
coordenadas de inicio y fin en sus ejes X y Y, de esta forma se contribuye una opcin ms de
segmentacin a la lnea de investigacin. Para el proceso de codificacin de caracteres de igual forma se
Captulo 5
Conclusiones generales

115

propone un algoritmo parametrizable e independiente de la resolucin de los caracteres, mismo que
presento un buen funcionamiento en las evaluaciones experimentales que se realizaron. Se comprob
que el utilizar 20 vectores caractersticos para el proceso de entrenamiento resulto exitoso. Durante el
proceso de evaluacin se emplearon 10 vectores caractersticos no utilizados en el proceso de
entrenamiento.

La adquisicin de las imgenes, en su mayora se realizaron con la cmara IP SMCWIPCAM-G sin
embargo como medida de ataque a los algoritmos propuestos para la localizacin, segmentacin y
codificaciones de los caracteres se utilizaron un par de cmaras digitales con caractersticas diferentes,
para determinar que los algoritmos pueden son independientes a la resolucin de los caracteres.

El algoritmo de la red neuronal artificial backpropagation resulto una vez ms exitoso para el
reconocimiento de los caracteres. Lo difcil para llegar a un buen reconocimiento fue el anlisis y la
determinacin del mtodo para la segmentacin de caracteres, ya que de ello depende en gran medida
que se tenga un porcentaje de reconocimiento considerable.

Los primeros intentos de entrenamiento con la RNA Backpropagation fueron empleando una matriz que
contena los vectores caractersticos de letras y nmeros, no teniendo xito alguno, ya que la RNA se
quedo oscilando alrededor de 12 hrs. Sin llegar al umbral para detener dicho algoritmo, ante esta
situacin se opto por realizar un entrenamiento por separado para letras y nmeros, posteriormente se
realizaron variaciones en las neuronas de la capa de entrada y el valor del umbral determinado para el
error cuadrtico medio, al realizar una serie de pruebas experimentales se pudo obtener una matriz de
pesos que contiene a las letras y nmeros, de esta forma teniendo se comprueba que pueden convivir
sin problemas los caracteres en una sola matriz de pesos; como se observo en la tabla de resultados que
se presento en el captulo 4.

Como parte final se puede concluir que los algoritmos propuestos en el sistema base de reconocimiento
de placas vehiculares son viables ya que se obtuvieron resultados exitosos con diferentes condiciones,
por lo que se recomienda su uso para solventar problemas a los que se describieron en el trabajo
presente.

116

A NEX O A

En el captulo 4 se mostraron resultados de restauracin de caracteres sobre las letras que se consideran
en las placas de la ciudad de Mxico, a continuacin se muestran una tabla con los resultados en
nmeros:

Original Reconstruido Tamao


38 x 16


56 x 24


371 x 176


342 x 81
117



342 x 79


226 x 52


39 x 18


62 x 26


86 x 24


31 x 13


39 x 18
118



117 x 55


41 x 12


86 x 24


32 x 14


228 x 101


55 x 24


51 x 17


39 x 18
119



47 x 16


64 x 27


39 x 17


37 x 15


30 x 13


37 x 16


48 x 10


49 x 16


363 x 177
120



37 x 16


En el apartado siguiente, se muestran las condiciones en las que se instalo la cmara digital a una pluma
de estacionamiento:


121





122



Muestra de placas obtenidas:


123




124




125




126







127

A NEX O B

En esta seccin se muestran los programas que se desarrollaron en el trabajo presente.
1.- loc_pl Localizacion de la placa

cl ear al l ;
cl ose al l ;
cl c

%%%%Leer i magen %%%
X=i mr ead( ' C: \ User s\ j osel ui nux\ Document s\ MATLAB\ pr oyect o\ i pl acas\ i mg270
82009\ DSC00009' , ' j pg' ) ;

%%%%%%Conver t i r i magen de ni vel de gr i s %%%%%%%
I =r gb2gr ay( doubl e( X) / 255) ;
f i gur e( ) ;
i mshow( X) ;
f i gur e( ) ;
i mshow( I ) ;
t i t l e( ' Escal a de gr i ses' ) ;
%%%%%%Fi n de l a conver si on de l a i magen a escal a de gr i ses%%%%%%


[ N, M] =si ze( I ) ;
i nt _y=f i x( N/ 30) ;
b_pl =0;
count _pl =0;
j =1;


f or y=1: i nt _y: N

V=I ( y, : ) ;
ex=ex_mai n( V) ;

i f ~i sempt y( ex)
i f b_pl ==1
count _pl =count _pl +1;
el se
b_pl =1;
count _pl =1;
end
el se
i f b_pl ==1
b_pl =0;
cont _num( j ) =count _pl ;
cont _val ( j ) =y;
j =j +1;
end
count _pl =0;
end
end

[ v_max, p_max] =max( cont _num) ;
mar gen=i nt _y+10;
y_end=cont _val ( p_max) +mar gen;
128

y_st ar t =cont _val ( p_max) - i nt _y*v_max- mar gen;


W=I ( y_st ar t : y_end, : ) ;
[ N1, M1] =si ze( W) ;
y_med=f i x( N1/ 2) ;
V=W( y_med, : ) ;
[ x_st ar t , x_end] =ex_mai n2( V) ;
W2=W( : , x_st ar t : x_end) ;
f i gur e( ) ;
i mshow( W) ; %%%Recor t e en Y
f i gur e( ) ;
i mshow( W2) ; %%%Recor t e en X
t i t l e( ' Pl aca l ocal i zada' ) ;

1. 1. - Ex_mai n Rut i na que det er mi na l a posi ci n hor i zont al de l a
pl aca

f unct i on ex=ex_mai n( V)
[ val 1, pm1] =max( V) ;
[ val 2, pm2] =mi n( V) ;
i nt =( val 1- val 2) / 12;
val =val 1- i nt : - i nt : val 2;
count _c=0;
b_nl =0;
j =1;
cont i nuo( j ) =0;
f or k=1: l engt h( val )
BV=V>=val ( k) ;
cc=ex_l i nea( BV) ;
i f cc>=5

i f b_nl ==1
count _c=count _c+1;
el se
b_nl =1;
count _c=1;
end

el sei f ( cc<19)

i f b_nl ==1
b_nl =0;
cont i nuo( j ) =count _c;
cont _v( j ) =k;
j =j +1;
end
count _c=0;


end

end

ex=f i nd( cont i nuo>=1) ;


1. 2. - Ex_l i nea Rut i na par a exami nar que una l nea pase par t e de
numer o y l et r as
129


f unct i on C=ex_l i nea( VB)
C=count _01( VB) ;
N=l engt h( VB) ;
v_t h1=f i x( N/ 100) ;
f or k=1: N- 1
i f VB( k) ==0 & VB( k+1) ==1
L=f i nd( VB( k+1: N) ==0) ;
i f ~i sempt y( L)
l b=L( 1) - 1;
i f l b<v_t h1
C=C- 1;
end
k=k+L( 1) ;
el se
k=N- 1;
end
end
end


1. 3. - count _01 Rut i na que cuent a numer o de cr uces por cer o

f unct i on c=count _01( V)
N=l engt h( V) ;
c=0;
f or k=1: N- 1
i f V( k) ==0 & V( k+1) ==1
c=c+1;
end
end

2. - gener aBi nl ocal Rut i na que obt i ene l a bi nar i zaci on de l a pl aca
l ocal i zada

f unct i on [ I BT] =gener aBi nl ocal ( I )

[ N, M] =si ze( I ) ;

t b=50;
omega=0. 005;

N_bl oque=f i x( N/ t b) ;
M_bl oque=f i x( M/ t b) ;
k=1;
f or i =1: N_bl oque
f or j =1: M_bl oque
st _y=( i - 1) *t b+1;
st _x=( j - 1) *t b+1;
en_y=i *t b;
en_x=j *t b;

W=I ( st _y: en_y, st _x: en_x) ;

%%%%%%%%Cal cul o de pr omedi o y var i anza %%%%%%%%

pr om=sum( sum( W) ) / ( t b*t b) ;
var =sum( sum( ( W- pr om) . ^2) ) / ( t b*t b) ;

t h( k) =omega*var +( pr om/ 1. 6) ;
130

WB=W>t h( k) ;
I B( st _y: en_y, st _x: en_x) =WB;
end
end

pr om_t =sum( sum( I ) ) / ( N*M) ;
var _t =sum( sum( ( I - pr om_t ) . ^2) ) / ( N*M) ;

t h_t =omega*var _t +pr om_t ;
I BT=I >t h_t ;

f i gur e;
subpl ot ( 1, 3, 1) ; i mshow( I ) ;
subpl ot ( 1, 3, 2) ; i mshow( I B) ;
subpl ot ( 1, 3, 3) ; i mshow( I BT) ;


3. - Rut i na que Segment a l os car act er es
[ I BT] =gener aBi nl ocal ( I ) ;

[ F, C] =si ze( I BT) ; %vecVal i bt =ones( F, 2) *- 1; count Ri bt =vecVal i bt ;

[ Xcp] =get Al t ur a( I BT, 0) ; %puede buscar se con 0
[ Xcpt ] =get Al t ur a( Xcp' , 0) ;
Xc=Xcpt ' ; %I magen r ecor t ada


%Vamos a dej ar dos col umnas una par a 0 y 1
count M=1; count Ms=1; count Mf =1; xS=0; xF=xS; xSs=xS; xFs=xS;
f or i =1: F
c=count _01( I BT( i , : ) ) ;
Veccpr om( i ) =c;
end
pr om1=f l oor ( ( cei l ( sum( Veccpr om) / F) ) *0. 6) ;
pr om2=f l oor ( ( ( cei l ( sum( Veccpr om) / F) / 2) *0. 6) +( sum( Veccpr om) / F) ) ;
f or i =1: F
[ vecVal i bt , count Ri bt ] =get Val yRep( I BT( i , : ) ) ;

%1 0
[ vecVar ] =get Var i aci onesOne( I BT( i , : ) ) ;
c=count _01( I BT( i , : ) ) ;
%Al menos deben exi st i r 1 y 0
%Debe haber ms 1 bl ancos que 0 negr os
%Necesi t o ver el numer o de combi naci ones
i f i == 83 | | i ==185
df g=1;
end
i f ( l engt h( vecVal i bt ) >1)
i f vecVal i bt ( 1) ==1
vecVal i bt Tmp=vecVal i bt ;
count Ri bt Tmp=count Ri bt ;
el se
vecVal i bt Tmp( 1) =1;
vecVal i bt Tmp( 2) =0;
count Ri bt Tmp( 1) =count Ri bt ( 2) ;
count Ri bt Tmp( 2) =count Ri bt ( 1) ;
end
i f ( count Ri bt Tmp( 1) >count Ri bt Tmp( 2) )
pr om=( count Ri bt Tmp( 1) *25) / 100;
pr omC=( C*75) / 100;
131

pr omCs=( C*25) / 100;

%El bl anco debe ser mayor que el negr o y l as var i aci ones deben ser
%6 al menos
%Necesi t o compar ar el moment o act ual y uno ant er i or
vecMai n( count M, : ) =[ i count Ri bt Tmp pr ompr omC pr omCs
vecVar c] ;
count M=count M+1;
i f count Ri bt Tmp( 2) >=pr om&& count Ms==1 && count Mf ==1
&& c>=pr om1 && c<pr om2 && count Ri bt Tmp( 1) >=pr omC
xS=i ; count Ms=0;
el sei f count Ri bt Tmp( 2) <=pr om&& count Mf ==1 &&
count Ms==0 && ( c<pr om1 | | c>pr om2)
xF=i ; count Mf =0;
end
end
end
end
%Me di cuent a que r eal i zando ot r as pr uebas t en a que r ecor r er el
pr i mer y
%segundo moment o
[ Fm, Cm] =si ze( vecMai n) ;
count Ms=1; count Mf =1;
i f xS==0 && xF==0 %No se hayo val or , en vecMai n t enemos al menos l as
posi ci ones que se est an buscando
xS=vecMai n( 1, 1) ; xSs=xS; xF=vecMai n( Fm, 1) ; xFs=xF;
el se
f or j =1: Fm- 1
i f vecMai n( j , 3) >=vecMai n( j , 4) && count Ms==1 && count Mf ==1 &&
vecMai n( j , 8) >=pr om1 && vecMai n( j , 8) <pr om2 && vecMai n( j +1, 8) >=pr om1 &&
vecMai n( j +1, 8) <pr om2 && vecMai n( j , 2) >=vecMai n( j , 5)
xSs=vecMai n( j , 1) ; count Ms=0;
el sei f vecMai n( j , 3) <=vecMai n( j , 4) && count Mf ==1 && count Ms==0 &&
( vecMai n( j , 8) <pr om1 | | vecMai n( j , 8) >pr om2)
xFs=vecMai n( j , 1) ; count Mf =0;
end
end
end
I BTsX=I BT( xS: xF, : ) ;
i f xSs==0 && xFs==0 %No se hayo val or , en vecMai n t enemos al menos l as
posi ci ones que se est n buscando
xSs=vecMai n( 1, 1) ; xFs=xSs;
end
I BTsF=I BT( xSs: xFs, : ) ;
f i gur e( ) ;
i mshow( I BT( xS: xF, : ) )
t i t l e( ' Cor t e en Xs' ) ;

f i gur e( ) ;
i mshow( I BT( xSs: xFs, : ) )
t i t l e( ' Cor t e en XSs' ) ;

%Pr ocedemos al cor t e en Y
I BTsFy=I BTsF' ;
f i gur e( ) ;
i mshow( I BTsFy)
t i t l e( ' I magen I nver sa' ) ;

[ Ft , Ct ] =si ze( I BTsFy) ;
count Nc=1;
count M=1; count Ms=1; count Mf =1; xS=0; xF=xS; xSs=xS; xFs=xS;
132

f or i =1: Ft
[ vecVal i bt sFy, count Ri bt sFy] =get Val yRep( I BTsFy( i , : ) ) ;

[ vecVar sFy] =get Var i aci onesOne( I BTsFy( i , : ) ) ;
c=count _01( I BTsFy( i , : ) ) ;

pr omN=cei l ( ( 5*Ct ) / 100) ;
i f ( l engt h( vecVal i bt sFy) >1)
i f vecVal i bt sFy( 1) ==1
vecVal i bt TmpsFy=vecVal i bt sFy;
count Ri bt TmpsFy=count Ri bt sFy;
el se
vecVal i bt TmpsFy( 1) =1;
vecVal i bt TmpsFy( 2) =0;
count Ri bt TmpsFy( 1) =count Ri bt sFy( 2) ;
count Ri bt TmpsFy( 2) =count Ri bt sFy( 1) ;
end
i f ( count Ri bt TmpsFy( 1) >count Ri bt TmpsFy( 2) )
i f count Ms==1 && c>=1
xS=i ; count Ms=0; count Mf =1;

end
end

%Obt engo el 5%de l a l ongi t ud de l a l nea, par a ver si ya
empi eza
%el bl anco o el negr o
el sei f count Ms==0 && count Mf ==1 && c<=1
xFa=i ; count Mf =0; count Ms=1;
f i gur e( ) ;
i mshow( I BTsFy( xS: xFa, : ) ) ;
%t i t l e( ' char er ' ) ; %t enemos l os car act er es r ecor t ados
mat Nc( count Nc, : ) =[ xS xFa] ; %Guar damos sol o l os ndi ces
par a hacer r ef er enci a a l os car act er es
count Nc=count Nc+1;
el sei f count Ri bt sFy>=pr omN && count Mf ==1;
xF=i ;
end
end
%Vol vemos a qui t ar bl ancos de nmer os y car act er es
[ FNc, CNc] =si ze( mat Nc) ;
count Fi g=1;
f or i =1: FNc
%subpl ot ( FNc*2, 2, count Fi g) ;
%i mshow( I BTsFy( mat Nc( i , 1) : mat Nc( i , 2) , : ) ) ;
mat C=I BTsFy( mat Nc( i , 1) : mat Nc( i , 2) , : ) ;
mat C=( mat C) ' ;
%i mshow( mat C) ;
[ FNcr , CNcr ] =si ze( mat C) ; %La hacemos t r anspuest a de nuevo par a
r ecor t ar l os bl ancos
%f i gur e( ) ;
%xx=cod_mai n( mat C) ;
%i mshow( mat C) ;
bS=1; bF=1;
f or j =1: FNcr - 2
[ vecVal i bt sFy, count Ri bt sFy] =get Val yRep( mat C( j , : ) ) ;

[ vecVar sFy] =get Var i aci onesOne( mat C( j , : ) ) ;
133


c=count _01( mat C( j , : ) ) ; c1=count _01( mat C( j +1, : ) ) ; c2=count _01( mat C( j +2, : )
) ;
i f ( l engt h( vecVal i bt sFy) >1) && ( bS==1)
xS=j ; bS=0; bF=1;
el sei f bS==0 && c>=1 && c1==0 && c2==0
xF=j ;
bF=0;
end
end
%count Fi g=1+count Fi g;
% subpl ot ( FNc, 2, i ) ;
% i mshow( mat C( xS: xF, : ) ) ;
%mat C=( I BTsFy( mat Nc( i , 1) : mat Nc( i , 2) , : ) ) ' ;
end


3. 1- get Al t ur a Rut i na que per mi t e obt ener l a al t ur a de un car act er

f unct i on [ XcPr oc] =get Al t ur a( Xc, r b)
[ Fp, Cp] =si ze( Xc) ;
mat PosL=zer os( Fp, Cp) ;
%[ ap, bp] =f i nd( mat Pos==1) ;
cont h=1;
cont vech=1;
f or i =1: Fp
i f ( i >1) %Al menos ya t i ene val or es el vect or b
%al menos ya hay una posi ci on
f l agh=1;
cont w=1;
i f ( l engt h( b) >0)
whi l e ( cont w<=l engt h( b) && f l agh==1)
i f ( Xc( i , b( cont w) ) ==r b)
cont h=cont h+1;
f l agh=0;
end
cont w=cont w+1;
end
el se
f l agpos=0;
end

%si l a bander a se quedo act i vada ent onces r eset eo el cont ador
de l a
%al t ur a
%Si no ent r a ni nguna vez guar damos al menos una vez l a al t ur a

i f ( f l agh==1)
vech( cont vech) =cont h;
cont vech=cont vech+1;
cont h=1;
el sei f ( cont h>1 && i ==Fp)
vech( cont vech) =cont h;
end
el se%sol o hay una f i l a en t odo el numer o
vech( cont vech) =cont h;
end

[ a, b] =f i nd( Xc( i , : ) ==r b) ;
f or j =1: l engt h( a)
134

XcL( i , b( j ) ) =b( j ) ; %Obengo l as posi ci ones val i das par a
det er mi nar l a al t ur a de un numer o
end
vect h( i ) =cont h;
end
[ mh ph] =max( vect h) ;
%mh
%ph
i ni c=ph- mh;
i ni c=i ni c+1;
i f i ni c<=0
i ni c=1;
end
XcPr oc=Xc( i ni c: ph, : ) ;



3. 2- get Val yRep Rut i na que per mi t e obt ener l os val or es r epet i dos

f unct i on [ vecVal , count R] =get Val yRep( Mat )
[ F, C] =si ze( Mat ) ;
f or j =1: F
f or i =1: C
f l agS=1; %Act i vo bander a par a guar dar val or
i f ( j ==1 && i ==1)
vecVal ( 1) =Mat ( j , i ) ;
el se
f or l =1: l engt h( vecVal )
i f ( vecVal ( l ) ==Mat ( j , i ) )
f l agS=0; %Desact i vo bander a par a guar dar
end
end
%Ver i f i co si est a pr endi da l a bander a par a guar dar nuevo
val or
i f f l agS==1
vecVal ( l engt h( vecVal ) +1) =Mat ( j , i ) ;
end
end
end
end

%buscamos cuant as veces se r epi t i el val or
f or i =1: l engt h( vecVal )
count R( i ) =l engt h( f i nd( Mat ==vecVal ( i ) ) ) ;
end


3. 3- get Var i aci onesOne Rut i na que per mi t e obt ener l as veces que hay
var i aci ones en l os pi xel es negr os

f unct i on [ vecVar ] =get Var i aci onesOne( X)
C=l engt h( X) ;
cont =1; cont 2=1;
cont a=1;
mat Val =zer os( 1, C) ; %gener amos l a mat r i z par a guar dar l os val or es que se
r epi t en
cont vm=1; cont v=0; cont vv=1; f l ag=0;
f or j =1: C- 1
i f ( X( j ) ~=X( j +1) )
cont v=cont v+1;
135

mat Var ( cont vv) =X( j +1) ;
cont vv=cont vv+1; f l ag=0;
el sei f f l ag==0%Es i gual
mat Val ( j ) =X( j +1) ;
cont vm=cont vm+1;
f l ag=1;
end
end
vecVar =cont v;
end


4. - t r yVar Rut i na que per mi t e el i mi nar el r ui do sal y pi mi ent a en l os
car act er es

l oad dos;
Xc=dos' ;
f i gur e( ) ;
i mshow( Xc) ;

[ Xcp] =get Al t ur a( Xc, 0) ; %puede buscar se con 0
[ Xcpt ] =get Al t ur a( Xcp' , 0) ;
Xc=Xcpt ' ; %I magen r ecor t ada
f i gur e( ) ;
i mshow( Xc) ;
[ Fc, Cc] =si ze( Xc) ;



[ Fval , Cval ] =si ze( mat Val ) ;
ver i f yVal =mat Val ;
mat Opt =zer os( Fval , Cval ) ;
f or k=1: Fv
sumv=0;

f or i =1: Cv
f l agval =1;
auxsum=1;
auxsum=auxsum+sumv;

i f auxsum<=Cval
sumv=sumv+vecLongmay( k, i ) ;

i f ver i f yVal ( k, auxsum) ==0
f l agval =0;
end

i f f l agval ==0
f or j =auxsum: sumv
mat Val ( k, j ) =vecLongmay( k, i ) ;
end
el se
f or j =auxsum: sumv
mat Val ( k, j ) =1;
end

end
end

end
136

%Vamos a obt ener el mayor
[ val , pos] =max( mat Val ( k, : ) ) ;
pr om=sum( mat Val ( k, : ) ) ;
pr om=pr om/ Cval ;
ol g=pr om*( 1/ 8) ;
mat Opt ( k, : ) =mat Val ( k, : ) <=( pr om) ;
end
f i gur e( ) ;
i mshow( mat Opt ) ;

4. 1- bar r i do Rut i na que per mi t e obt ener l a l ongi t ud de l os anchos de
pi xel es negr os

f unct i on [ vecLong vecLongzer mat Var ] =bar r i do( Xc)
[ Fc, Cc] =si ze( Xc) ;
mat Val =ones( Fc, Cc) ; %gener amos l a mat r i z par a guar dar l os val or es que
se r epi t en
mat Val =mat Val *- 13;
f or i =1: Fc
cont v=0; cont vv=1; f l ag=0; cont di f =0; f l agvar =0;
f or j =1: Cc- 1
f l agd=0; %buscamos sol o l os 0
%Xc
i f ( Xc( i , j ) ~=Xc( i , j +1) )
cont v=cont v+1;

%Guar damos l a pr i mer posi ci n
i f f l agvar ==0
mat Var ( i , cont vv) =Xc( i , j ) ;
f l agvar =1;
el se
mat Var ( i , cont vv) =Xc( i , j ) ;
end


cont vv=cont vv+1;
i f f l ag==1
cont vm=cont vm+1; %vol vemos a i ncr ement ar l o por l a
ul t i ma vez que l e f al t o uno
el se%r eset eamos de nuevo el cont ador
cont vm=1;
end
vecLong( i , cont v) =cont vm;
f l ag=0;
f l agd=1; cont di f =cont di f +1;



el sei f f l ag==0%Es i gual %en pr i mer i t er aci n se act i va f l ag
mat Val ( i , j ) =Xc( i , j +1) ;
cont vm=1;
f l ag=1;
el sei f f l ag==1%si gue t eni endo el mi smo val or i ncr ement o su
l ongi t ud
cont vm=cont vm+1;
end

%Vamos a val i dar que haya cer os y al menos se han dos par a
guar dar
%sus posi ci ones
137

i f Xc( i , j ) ==0 && cont vm>1
mat Pos( i , j - 1) =1;
mat Pos( i , j ) =1;
end
%Ver i f i camos si son 0s par a guar dar l as l ongi t udes
i f ( f l agd==1 && Xc( i , j ) ==0 && cont vm>1)
vecLongzer ( i , cont di f +1) =cont vm;
end
end
i f f l ag==1%par a l a ul t i ma posi ci n ver i f i camos su
l ongi t ud
cont vm=cont vm+1; %vol vemos a i ncr ement ar l o por l a
ul t i ma vez q l e f al t o uno
el se%r eset eamos de nuevo el cont ador
cont vm=1;
end
%Necesi t o ver i f i car si en l a ul t i ma posi ci n de l a mat r i z hay un 0
par a
%cambi ar di cha posi ci n a 1
i f ( Xc( i , j +1) ==0 && cont vm>0 && f l ag==1) %se pone mayor a 0 por que con
uno ms el ul t i mo ya son l as dos posi ci ones
mat Pos( i , j +1) =1;
mat Pos( i , j ) =1;
vecLongzer ( i , j ) =cont vm;
el se
vecLongzer ( i , j ) =0;
end
vecLong( i , cont v+1) =cont vm;
vecVar ( i ) =cont v;
cont vm=cont vm+1;
vecTam( i ) =cont vm;
mat Var ( i , cont vv) =Xc( i , j +1) ;
end

4. 2- r el l ena Rut i na que per mi t e l a r est aur aci n de l os car act er es

f unct i on [ Xc] =r el l ena( Xc, mat Var , vecLong, vecLongzer )
[ Fb, Cb] =si ze( Xc) ;

pr om=sum( sum( vecLongzer ) ) / Fb;
pr om=pr om*0. 25;
[ Fz, Cz] =si ze( mat Var ) ;
pr omt =( Fz/ 2) *0. 70;
f or k=1: Fz
f l ag=0; f l agu=0;
cont =0; cont u=0;
pr omz=( max( vecLongzer ( k, : ) ) ) *0. 25;

f or j =1: Cz
i f ( mat Var ( k, j ) ==0 && f l ag==0) %0 1 0 negr o bl anco negr o
cont =cont +1; f l ag=1;
el sei f ( mat Var ( k, j ) ==1 && f l ag==1)
cont =cont +1; f l ag=0;
end


i f ( cont ==3) %Se cumpl i l a combi naci n
sumn=vecLong( k, j - 2) +vecLong( k, j ) ;
sumnt =sum( vecLongzer ( k, : ) ) ;
t mpsumnt =( sum( vecLong( k, : ) ) - sumnt ) *0. 6;
138

sumnt =sumnt *0. 4;
cont =1;
sump=0;
r est va=abs( vecLong( k, j - 2) - vecLong( k, j ) ) ;

vechn=f i nd( vecLongzer ( k, : ) ~=0) ; %Ver i f i co que haya ms de un
negr o
Lvechn=l engt h( vechn) ;
t maxz=r ound( ( max( vecLongzer ( k, : ) ) ) *0. 22) ;

i f ( ( vecLong( k, j - 1) <= vecLong( k, j - 2) && vecLong( k, j - 1) <=
vecLong( k, j ) ) && ( ( vecLong( k, j - 2) >pr omz && vecLong( k, j ) >pr omz &&
vecLong( k, j - 1) <t mpsumnt ) | | ( sumn>sumnt && vecLong( k, j - 1) <t mpsumnt ) )
&& r est va>t maxz )

f or i =1: j - 2
sump=sump+vecLong( k, i ) ;
end
f or h=( sump+1) : ( sump+vecLong( k, j - 1) )
Xc( k, h) =0;
end

end

end

i f ( mat Var ( k, j ) ==1 && f l agu==0) %1 0 1 bl anco negr o bl anco
cont u=cont u+1; f l agu=1;
el sei f ( mat Var ( k, j ) ==0 && f l agu==1)
cont u=cont u+1; f l agu=0;
end


i f ( cont u==3) %Se cumpl i o l a combi naci n

Mvecz=max( vecLongzer ( k, : ) ) ;
f act z=f l oor ( ( Mvecz/ 100) *Mvecz) ;
pr omnm=( Mvecz) *0. 56;
t mpsumnt =sum( vecLongzer ( k, : ) ) ;
t mpsumnt n=( sum( vecLong( k, : ) ) - t mpsumnt ) *0. 6;
t ot o=( sum( vecLongzer ( k, : ) ) ) ;
t ot f =sum( vecLong( k, : ) ) ;
t ot t =t ot f *0. 75;
sumnt =t mpsumnt *0. 60; %. 60
sumnt c=t mpsumnt *0. 15;
vechn=f i nd( vecLongzer ( k, : ) ~=0) ; %Ver i f i co que haya ms de un
negr o
Lvechn=l engt h( vechn) ;


i f k>1
sumnt mu=sum( vecLongzer ( k- 1, : ) ) ;
el se
sumnt mu=0;
end

cont u=1;
sumpu=0;

139


i f ( ( ( vecLong( k, j - 1) <= vecLong( k, j - 2) && vecLong( k, j - 1) <=
vecLong( k, j ) ) | | ( Lvechn > 1 && ( vecLong( k, j - 1) <sumnt ) &&
t mpsumnt >sumnt mu && vecLong( k, j - 1) <sumnt c && t ot o<=t ot t &&
vecLong( k, j ) >2) ) && ( vecLong( k, j - 1) <pr om&& vecLong( k, j - 1) <pr omnm) &&
vecLong( k, j - 1) <f act z)
f or i =1: j - 2
sumpu=sumpu+vecLong( k, i ) ;
end
f or h=( sumpu+1) : ( sumpu+vecLong( k, j - 1) )
Xc( k, h) =1;
end
end

end


end
end


5- f segment a Rut i na que per mi t e l a segment aci n de l os car act er es

f unct i on [ mM] =f segment a( Xc)

f i gur e
i mshow( Xc)
N=2; %Numer o de vent anas maest r eas
[ mat Posw] =di vi de( N, Xc) ; %obt i ene l os ndi ces par a l as vent anas
n=2; %Numer o de vent anas hi j as
%f i gur e( ) ;
%f or mamos l a mat r i z maest r a
sN=( N*n) *N*n;
mM=zer os( 1, sN) ;
x=1; cont =1; cont v=1; cont b=0;
f or k=1: N
y=1;
f or j =1: N
%subpl ot ( N, N, cont )
f i gur e( ) ;
i mshow( Xc( ( x: mat Posw( 1, k) ) , ( y: mat Posw( 2, j ) ) ) )
t mpXc=Xc( ( x: mat Posw( 1, k) ) , ( y: mat Posw( 2, j ) ) ) ; %Nueva vent ana
hi j a
[ mat Posws] =di vi de( n, t mpXc) ; %obt i ene l os ndi ces par a l as
vent anas
[ mat Car ac] =get Mat di v( n, mat Posws, t mpXc) ; %De acuer do a l os
ndi ces obt eni dos asi gna l as nuevas vent anas; obt i ene el vect or ( en
mat r i z) car act er st i co
[ F, C] =si ze( mat Car ac) ;
f or h=1: F
f or l =1: C
mM( ( ( cont v) +cont b) ) =mat Car ac( h, l ) ;
cont v=cont v+1;
end
cont v=cont v+2;
end
cont v=1;
cont b=cont b+2;
i f ( ( cont b*2) ==( sN/ 2) )
cont b=cont b*2;
140

end

vecCar ac=mat 2vec( mat Car ac) ; %guar damos en Vect or l os val or es de
subvent anas
mat Def Car ac( cont , : ) =vecCar ac;
y=mat Posw( 2, j ) ;
cont =cont +1;
end
x=mat Posw( 1, k) ;
end
%or den nor mal
vecDef Car ac=mat 2vec( mat Def Car ac) ;
%Est e vect or es par a el segundo or den
mM

5. 1- di vi de Rut i na que per mi t e obt ener el ndi ce de l os car act er es
par a l a di vi si n de vent anas

f unct i on [ mat Posw] =di vi de( f , Xc)

[ F, C] =si ze( Xc) ;
X=f i x( F*( 1/ f ) ) ;
Y=f i x( C*( 1/ f ) ) ;

f or k=1: f
mat Posw( 1, k) =X*k; %I ndi ces par a Fi l as
mat Posw( 2, k) =Y*k; %I ndi ces par a Col umnas
end

6. - backpr opagat i on Rut i na que per mi t e el ent r enami ent o de l a RNA
Backpr opagat i on

%%%%%%%%%%%%%%%% RED BACKPROPAGATI ON %%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%% ENTRENAMI ENTO %%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%SE I NI CI ALI ZAN LOS VALORES
cl ear al l
cl ose al l
cl c

opci on=0;
%VALORES DE ENTRADA
N=16; %neur onas de ent r ada si n cont ar bi as
%L=10; %neur onas de l a capa ocul t a si n cont ar bi as
L=14;
M=33; %Neur onas de sal i da
%M=23;
%M=10;
%I NI CI ALI ZACI ON DE LA MATRI Z DE PESOS WY V
W=0. 2*r and( N+1, L) - . 1;
V=0. 2*r and( L+1, M) - . 1;

%CARGA ARCHI VO CON DATOS DE ENTRADA
l oad Mdt o;
A=Mdt o;

%l oad Mdt oabc;
%A=Mdt oabc;
141


%l oad Mdt onum;
%A=Mdt onum;


%CARGA ARCHI VO CON DATOS DESEADOS
l oad sal i dasm. dat ;
B=sal i dasm;

%l oad sal i dasabc. dat ;
%B=sal i dasabc;

%l oad sal i dasnum. dat ;
%B=sal i dasnum;


al f a=0. 00500; %par a est e caso mi u
mi n=0. 1; %umbr al def i ni do
i t er =100000; %maxi mo numer o de i t er aci ones par a que conver ga l a r ed
[ pat r ones, i ] =si ze( A) ;

%SE FORMA MATRI Z DE ENTRADA

PA=[ ] ;
f or g=1: pat r ones
PA( g, : ) =[ 1, A( g, : ) ] ; %se f or ma l a mat r i z de ent r ada par a f or mar el
epoch aument ado el bi as
end

%I NI CI A ENTRENAMI ENTO
cont =0;
Z=0;
f or k=1: i t er
cont =cont +1; %numer o de epochs
er r or =0;
f or i =1: pat r ones
X=PA( i , : ) ; %X es l a capa ent r ada
U=( X*W) ; %U es l a capa ocul t a
U=t ansi g( U) ; %se ocupa t ansi g como f unci on no
l i neal
U=[ 1. 0, U] ; %se agr aga el bi as
Y=t ansi g( U*V) ; %Y es l a capa de sal i da
E=B( i , : ) - Y; %se cal cul a el er r or
%adapt aci on
del t a1=E*0. 5. *( 1- ( Y. *Y) ) ;
V=V+al f a*U' *del t a1;

a=del t a1*V' ;
del t a2=a. *( 0. 5. *( 1- ( U. *U) ) ) ;
del t a2=del t a2( 2: l engt h( del t a2) ) ; %se l e qui t a el bi as
de U par a cal cul ar W
W=W+al f a*X' *del t a2;

er r or =er r or +E*E' ;
end
er r or =er r or / M;
%f pr i nt f ( 1, ' Er r =%4. 9f ==> %d\ n' , er r or , k) ;
J ( k) =er r or ;
i f er r or <mi n
142

br eak;
end
%k

end
pl ot ( J ) ;
save bp_mem_pesos3 WV; %se t i ene que cambi ar el nombr e de ar chi vo
par a ot r a apl i caci on
%***************************************************
%PRUEBA DE LA RED PARA LOS PATRONES
%**********************************************+***
cont 0=0;
f or i =1: pat r ones
X=PA( i , : ) ; %se aument a bi as a l a capa de ent r ada
U=t ansi g( X*W) ; %se cal cul a l a capa ocul t a
U=[ 1. 0, U] ;
Y=t ansi g( U*V) ; %se cal cul a l a sal i da
%f pr i nt f ( ' %f %f %f %f %f %f %f %f %f %f %d %d %d %d %d %d %d %d %d
%d\ n' , Y( 1) , Y( 2) , Y( 3) , Y( 4) , Y( 5) , Y( 6) , Y( 7) , Y( 8) , Y( 9) , Y( 10) , har dl i m( Y( 1) -
0. 5) , har dl i m( Y( 2) - 0. 5) , har dl i m( Y( 3) - 0. 5) , har dl i m( Y( 4) -
0. 5) , har dl i m( Y( 5) - 0. 5) , har dl i m( Y( 6) - 0. 5) , har dl i m( Y( 7) -
0. 5) , har dl i m( Y( 8) - 0. 5) , har dl i m( Y( 9) - 0. 5) , har dl i m( Y( 10) - 0. 5) ) ;
f pr i nt f ( ' %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f
%f %f %f %f %f %f %f %f %f %f %f %f %f %d %d %d %d %d %d %d %d %d %d
%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d
%d\ n' , Y( 1) , Y( 2) , Y( 3) , Y( 4) , Y( 5) , Y( 6) , Y( 7) , Y( 8) , Y( 9) , Y( 10) , Y( 11) , Y( 12) , Y
( 13) , Y( 14) , Y( 15) , Y( 16) , Y( 17) , Y( 18) , Y( 19) , Y( 20) , Y( 21) , Y( 22) , Y( 23) , Y( 24)
, Y( 25) , Y( 26) , Y( 27) , Y( 28) , Y( 29) , Y( 30) , Y( 31) , Y( 32) , Y( 33) , har dl i m( Y( 1) -
0. 5) , har dl i m( Y( 2) - 0. 5) , har dl i m( Y( 3) - 0. 5) , har dl i m( Y( 4) -
0. 5) , har dl i m( Y( 5) - 0. 5) , har dl i m( Y( 6) - 0. 5) , har dl i m( Y( 7) -
0. 5) , har dl i m( Y( 8) - 0. 5) , har dl i m( Y( 9) - 0. 5) , har dl i m( Y( 10) -
0. 5) , har dl i m( Y( 11) - 0. 5) , har dl i m( Y( 12) - 0. 5) , har dl i m( Y( 13) -
0. 5) , har dl i m( Y( 14) - 0. 5) , har dl i m( Y( 15) - 0. 5) , har dl i m( Y( 16) -
0. 5) , har dl i m( Y( 17) - 0. 5) , har dl i m( Y( 18) - 0. 5) , har dl i m( Y( 19) -
0. 5) , har dl i m( Y( 20) - 0. 5) , har dl i m( Y( 21) - 0. 5) , har dl i m( Y( 22) -
0. 5) , har dl i m( Y( 23) - 0. 5) , har dl i m( Y( 24) - 0. 5) , har dl i m( Y( 25) -
0. 5) , har dl i m( Y( 26) - 0. 5) , har dl i m( Y( 27) - 0. 5) , har dl i m( Y( 28) -
0. 5) , har dl i m( Y( 29) - 0. 5) , har dl i m( Y( 30) - 0. 5) , har dl i m( Y( 31) -
0. 5) , har dl i m( Y( 32) - 0. 5) , har dl i m( Y( 33) - 0. 5) ) ;
%f pr i nt f ( ' %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f
%f %f %f %f %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d
%d %d %d
%d\ n' , Y( 1) , Y( 2) , Y( 3) , Y( 4) , Y( 5) , Y( 6) , Y( 7) , Y( 8) , Y( 9) , Y( 10) , Y( 11) , Y( 12) , Y
( 13) , Y( 14) , Y( 15) , Y( 16) , Y( 17) , Y( 18) , Y( 19) , Y( 20) , Y( 21) , Y( 22) , Y( 23) , har dl
i m( Y( 1) - 0. 5) , har dl i m( Y( 2) - 0. 5) , har dl i m( Y( 3) - 0. 5) , har dl i m( Y( 4) -
0. 5) , har dl i m( Y( 5) - 0. 5) , har dl i m( Y( 6) - 0. 5) , har dl i m( Y( 7) -
0. 5) , har dl i m( Y( 8) - 0. 5) , har dl i m( Y( 9) - 0. 5) , har dl i m( Y( 10) -
0. 5) , har dl i m( Y( 11) - 0. 5) , har dl i m( Y( 12) - 0. 5) , har dl i m( Y( 13) -
0. 5) , har dl i m( Y( 14) - 0. 5) , har dl i m( Y( 15) - 0. 5) , har dl i m( Y( 16) -
0. 5) , har dl i m( Y( 17) - 0. 5) , har dl i m( Y( 18) - 0. 5) , har dl i m( Y( 19) -
0. 5) , har dl i m( Y( 20) - 0. 5) , har dl i m( Y( 21) - 0. 5) , har dl i m( Y( 22) -
0. 5) , har dl i m( Y( 23) - 0. 5) ) ;
i f ( B( i , : ) ~=har dl i m( Y- 0. 5) )
cont 0=cont 0+1;
end
end
f pr i nt f ( ' \ n %d pat r ones no r econoci dos' , cont 0) ;


6. 1- eval _backpr opagat i on Rut i na que per mi t e l a eval uaci n de l os
car act er es
143


cl ear al l
cl ose al l
cl c
%pat r ones=6;
pat r ones=230;
%pat r ones=460;
%pat r ones=660;
%pat r ones=330;
%pat r ones=100;

%l oad bp_mem_pesosabc;
l oad bp_mem_pesos3; %No modi f i car
%l oad bp_mem_pesosnum;

l oad Mdt ot r y;
A=Mdt ot r y;

%%Modi f i car
%l oad Mdt oabct r y; %Car gar mat r i z con vect or es car act er i st i cos por
car act er
%A=Mdt oabct r y;

%l oad Mdt onumt r y;
%A=Mdt onumt r y;

%%Modi f i car
%l oad sal i dasabct r y. dat ; %Car gar mat r i z de sal i das ( ar chi vo de bl oc de
not as)
%B=sal i dasabct r y;

%l oad sal i dasnumt r y. dat ;
%B=sal i dasnumt r y;


l oad sal i dasmt r y. dat ;
B=sal i dasmt r y;


PA=[ ] ;
f or g=1: pat r ones
PA( g, : ) =[ 1, A( g, : ) ] ; %se f or ma l a mat r i z de ent r ada par a f or mar el
epoch aument ado el bi as
end

cont 0=0;
ar r ay=[ ' 9' ' 8' ' 7' ' 6' ' 5' ' 4' ' 3' ' 2' ' 1' ' 0' ' A' ' B' ' C' ' D' ' E' ' F'
' G' ' H' ' J ' ' K' ' L' ' M' ' N' ' P' ' R' ' S' ' T' ' U' ' V' ' W' ' X' ' Y' ' Z' ] ;
%ar r ay=[ ' A' ' B' ' C' ' D' ' E' ' F' ' G' ' H' ' J ' ' K' ' L' ' M' ' N' ' P' ' R'
' S' ' T' ' U' ' V' ' W' ' X' ' Y' ' Z' ] ;
%ar r ay=[ ' 9' ' 8' ' 7' ' 6' ' 5' ' 4' ' 3' ' 2' ' 1' ' 0' ] ;
f or i =1: pat r ones
X=PA( i , : ) ; %se aument a bi as a l a capa de ent r ada
U=t ansi g( X*W) ; %se cal cul a l a capa ocul t a
U=[ 1. 0, U] ;
Y=t ansi g( U*V) ; %se cal cul a l a sal i da
%f pr i nt f ( ' %f %f %f %f %f %f %f %f %f %f %d %d %d %d %d %d %d %d %d

%%d\ n' , Y( 1) , Y( 2) , Y( 3) , Y( 4) , Y( 5) , Y( 6) , Y( 7) , Y( 8) , Y( 9) , Y( 10) , har dl i m( Y( 1)
144

- 0. 5) , har dl i m( Y( 2) - 0. 5) , har dl i m( Y( 3) - 0. 5) , har dl i m( Y( 4) -
0. 5) , har dl i m( Y( 5) - 0. 5) , har dl i m( Y( 6) - 0. 5) , har dl i m( Y( 7) -
0. 5) , har dl i m( Y( 8) - 0. 5) , har dl i m( Y( 9) - 0. 5) , har dl i m( Y( 10) - 0. 5) ) ;
%f pr i nt f ( ' %f %f %f %f %f %f %f %f %f %f %d %d %d %d %d %d %d %d %d
%d\ n' , Y( 1) , Y( 2) , Y( 3) , Y( 4) , Y( 5) , Y( 6) , Y( 7) , Y( 8) , Y( 9) , Y( 10) , har dl i m( Y( 1) -
0. 5) , har dl i m( Y( 2) - 0. 5) , har dl i m( Y( 3) - 0. 5) , har dl i m( Y( 4) -
0. 5) , har dl i m( Y( 5) - 0. 5) , har dl i m( Y( 6) - 0. 5) , har dl i m( Y( 7) -
0. 5) , har dl i m( Y( 8) - 0. 5) , har dl i m( Y( 9) - 0. 5) , har dl i m( Y( 10) - 0. 5) ) ;
%f pr i nt f ( ' %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f
%f %f %f %f %f %f %f %f %f %f %f %f %f %f %d %d %d %d %d %d %d %d %d
%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d
%d\ n' , Y( 1) , Y( 2) , Y( 3) , Y( 4) , Y( 5) , Y( 6) , Y( 7) , Y( 8) , Y( 9) , Y( 10) , Y( 11) , Y( 12) , Y
( 13) , Y( 14) , Y( 15) , Y( 16) , Y( 17) , Y( 18) , Y( 19) , Y( 20) , Y( 21) , Y( 22) , Y( 23) , Y( 24)
, Y( 25) , Y( 26) , Y( 27) , Y( 28) , Y( 29) , Y( 30) , Y( 31) , Y( 32) , Y( 33) , har dl i m( Y( 1) -
0. 5) , har dl i m( Y( 2) - 0. 5) , har dl i m( Y( 3) - 0. 5) , har dl i m( Y( 4) -
0. 5) , har dl i m( Y( 5) - 0. 5) , har dl i m( Y( 6) - 0. 5) , har dl i m( Y( 7) -
0. 5) , har dl i m( Y( 8) - 0. 5) , har dl i m( Y( 9) - 0. 5) , har dl i m( Y( 10) -
0. 5) , har dl i m( Y( 11) - 0. 5) , har dl i m( Y( 12) - 0. 5) , har dl i m( Y( 13) -
0. 5) , har dl i m( Y( 14) - 0. 5) , har dl i m( Y( 15) - 0. 5) , har dl i m( Y( 16) -
0. 5) , har dl i m( Y( 17) - 0. 5) , har dl i m( Y( 18) - 0. 5) , har dl i m( Y( 19) -
0. 5) , har dl i m( Y( 20) - 0. 5) , har dl i m( Y( 21) - 0. 5) , har dl i m( Y( 22) -
0. 5) , har dl i m( Y( 23) - 0. 5) , har dl i m( Y( 24) - 0. 5) , har dl i m( Y( 25) -
0. 5) , har dl i m( Y( 26) - 0. 5) , har dl i m( Y( 27) - 0. 5) , har dl i m( Y( 28) -
0. 5) , har dl i m( Y( 29) - 0. 5) , har dl i m( Y( 30) - 0. 5) , har dl i m( Y( 31) -
0. 5) , har dl i m( Y( 32) - 0. 5) , har dl i m( Y( 33) - 0. 5) ) ;
%f pr i nt f ( ' %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f
%f %f %f %f %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d
%d %d %d
%d\ n' , Y( 1) , Y( 2) , Y( 3) , Y( 4) , Y( 5) , Y( 6) , Y( 7) , Y( 8) , Y( 9) , Y( 10) , Y( 11) , Y( 12) , Y
( 13) , Y( 14) , Y( 15) , Y( 16) , Y( 17) , Y( 18) , Y( 19) , Y( 20) , Y( 21) , Y( 22) , Y( 23) , har dl
i m( Y( 1) - 0. 5) , har dl i m( Y( 2) - 0. 5) , har dl i m( Y( 3) - 0. 5) , har dl i m( Y( 4) -
0. 5) , har dl i m( Y( 5) - 0. 5) , har dl i m( Y( 6) - 0. 5) , har dl i m( Y( 7) -
0. 5) , har dl i m( Y( 8) - 0. 5) , har dl i m( Y( 9) - 0. 5) , har dl i m( Y( 10) -
0. 5) , har dl i m( Y( 11) - 0. 5) , har dl i m( Y( 12) - 0. 5) , har dl i m( Y( 13) -
0. 5) , har dl i m( Y( 14) - 0. 5) , har dl i m( Y( 15) - 0. 5) , har dl i m( Y( 16) -
0. 5) , har dl i m( Y( 17) - 0. 5) , har dl i m( Y( 18) - 0. 5) , har dl i m( Y( 19) -
0. 5) , har dl i m( Y( 20) - 0. 5) , har dl i m( Y( 21) - 0. 5) , har dl i m( Y( 22) -
0. 5) , har dl i m( Y( 23) - 0. 5) ) ;

i f ( B( i , : ) ~=har dl i m( Y- 0. 5) )
[ val o, poso] =f i nd( B( i , : ) ==1) ;
ar r ay( poso)
[ val f , posf ] =f i nd( har dl i m( Y- 0. 5) ==1) ;
i f ( posf >0)
ar r ay( poso)
el se
f pr i nt f ( ' Vaci o' ) ;
end
cont 0=cont 0+1;
end
end
f pr i nt f ( ' \ n %d pat r ones no r econoci dos' , cont 0) ;


6. 1- get Var i aci ones Rut i na que per mi t e obt ener el numer o de
var i aci ones que hay en l os car act er es

f unct i on [ vecVar ] =get Var i aci ones( X)
%X es l a mat r i z de pl aca r ecor t ada

[ F, C] =si ze( X) ;
145

i nc=f i x( F/ 15) ; %Tamano de l os bl oques( Fi l as x bl oque)
Ni t em=f i x( F/ i nc) ; %Numer o de i t er aci ones
cont =1; cont 2=1;

%f i gur e( ) ;
f or k=1: i nc: ( i nc*Ni t em)

f pr i nt f ( ' Bl oque: %d' , cont )
Xc=X( k: ( i nc*cont ) , : ) ; %t r aemos subbl oque

f i gur e( ) ; %I mpr i me bl oque a bl oque
%subpl ot ( Ni t em, 1, cont ) ; %Coment amos par a vi sual i zar subbl oques
i mshow( Xc) ; %Coment amos par a vi sual i zar subbl oques
t i t l e( ' Subpar t es de pl aca' )


%%%Vamos a r evi sar l as var i aci ones de l as f r ecuenci as
[ Fc, Cc] =si ze( Xc) ; %En est a par t e guar damos el numer o de f i l as y
col umnas de cada bl oque
%f i gur e;
cont a=1;
mat Val =zer os( Fc, Cc) ; %gener amos l a mat r i z par a guar dar l os val or es
que se r epi t en
%vect or var i aci ones
vecVar =zer os( 1, Fc) ; %Vect or es par a obt ener l a Var i anza por f i l a de
cada bl oque
vecPr om=zer os( 1, Fc) ;
vecVar i anza=zer os( 1, Fc) ;
vecMi n=zer os( 1, Fc) ;
vecMax=zer os( 1, Fc) ;
%mat Val =mat Val *- 13;
f or i =1: Fc
cont vm=1; cont v=0; cont vv=1; f l ag=0;
Xa=Xc( i , : ) ; %Se t oma f i l a a f i l a del bl oque
%si ze( Xa)
Xa
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Col ocamos el nombr e de l a f unci on que obt i ene el numer o
de
%r epet i ci ones count _01
c=count _01( Xa) ;
%c
[ vecVar ] =get Var i aci onesOne( Xa) ;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% subpl ot ( Fc, 1, cont a) %Descoment amos par a vi sual i zar l as
di vi si ones de un bl oque
% i mshow( Xa) %Most r amos di vi si ones de bl oque

f or j =1: Cc- 1
i f ( Xc( i , j ) ~=Xc( i , j +1) )
cont v=cont v+1;
mat Var ( i , cont vv) =Xc( i , j +1) ;
cont vv=cont vv+1; f l ag=0;
el sei f f l ag==0%Es i gual
mat Val ( i , j ) =Xc( i , j +1) ;
%Xc( i , j +1)
cont vm=cont vm+1;
f l ag=1;
end
end
146

vecVar ( i ) =cont v;
vecVar c( i ) =c;
cont a=cont a+1;
vecPr om( i ) =sum( Xa) / ( Cc*Cc) ;
vecVar i anza( i ) =sum( sum( ( Xa- vecPr om( i ) ) . ^2) ) / ( Cc*Cc) ;
vecMi n( i ) =mi n( Xa) ;
vecMax( i ) =max( Xa) ;
%pause
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
vecVar
vecVar c
%vecPr om
%vecMi n
%vecMax
%vecVar i anza
cont =cont +1;
%pause
end

You might also like