Está en la página 1de 4

Procesamiento digital de imágenes para el

reconocimiento de monedas en MATLAB


Jimmy Anaya, Estudiante, UDI, Rexnik Díaz Estudiante, UDI.Renzzo Gómez Estudiante, UDI, Oscar
Ramos, Estudiante, UDI.

Con este software además es posible establecer referencias


Resumen— La implementación de la herramienta MATLAB auxiliares para identificación de áreas específicas por criterio
se ha establecido como un estándar para el procesamiento de proporcionalidad, basta con usar comandos que calculen
digital de imágenes y reconocimiento de patrones en las las propiedades geométricas de las áreas es una imagen ya sea
mismas. Más específicamente en el área de control y esta de tipo RGB, escala de grises o binaria.
automatización de procesos académicos e industriales, en los
que se requiera un análisis lógico y preciso de los resultados
visibles en un proceso realizado por uno o más sistemas. En el
III. OBJETIVOS
presente caso se propone llevar a cabo la identificación y A. Generales
conteo de monedas de cuatro denominaciones vigentes
diferentes. Este desarrollo se lleva a cabo por medio de tres
procedimientos específicos, filtrado, sectorización, y 1. Realizar el reconocimiento y conteo de monedas por
proporcionalidad de áreas en las imágenes; lo que permite un medio del procesamiento digital de imágenes en
desempeño robusto y preciso del software propuesto. Por MATLAB.
último se dispone también de una interface de usuario
utilizando la herramienta GUI y el Matlab Compiler con el fin B. Específicos
de hacer de esta una aplicación ejecutable independiente. 1. Conocer a profundidad el funcionamiento estructural
de un código fuente para procesamiento de imágenes.
Palabras clave—Filtro, regionprops, área, sectorización. 2. Establecer los parámetros o patrones que permiten
hacer una identificación de monedas óptimo.

I. INTRODUCCION
IV. DESARROLLO DEL PROYECTO
E n el presente informe se encuentran condensados todos los
resultados obtenidos al utilizar MATLAB como
compilador principal en el reconocimiento de imágenes
A. Captura:

para la identificación y conteo óptimo de cuatro Como primer procedimiento se disponen las siguientes
denominaciones diferentes de monedas colombianas condiciones para la captura fotográfica:
$100,$200, $50 y $500. Además se presentan los resultados
adquiridos al aplicar cada uno de los comandos o sentencias
que son indispensables para el funcionamiento del software 1. La superficie de captura debe ser de un material
desarrollado; también se habla acerca de los problemas que se oscuro (preferiblemente negro) y de un material no
presentaron durante la creación del código fuente principal. reflectivo y sin poros.
Por otro lado se describen los procedimientos implementados
2. Para la captura se usara una cámara digital
para la creación de la interface de usuario la cual se contempla configurada con una resolución fija de 5Megapixels.
como una alternativa para la implementación del software 3. Se utilizara de igual modo una base metálica con el
dentro de un aplicativo comercial hipotético. fin de estandarizar la distancia de captura entre la
cámara digital y la superficie.
4. Las imágenes capturadas deben ser transferidas
II. MARCO TEORICO
manualmente al PC vía USB y ubicadas en la carpeta
dispuesta para su lectura en el código fuente.
MATLAB cuenta con un gran número de comandos y
sentencias que se utilizan para la detección de objetos o B. Primera etapa: filtrado de la imagen.
patrones dentro de una imagen, con estos comandos es posible
alterar las imágenes de modo que algunas de sus propiedades 1. La primera etapa para realizar el filtrado de la imagen
se resalten o se atenúen, entre las propiedades que se pueden es transformar a escala de grises.
modificar por medio de sentencias que recorren la imagen se
encuentran, contraste, brillo, nivel de grises y binarización. 2. Seguidamente se realiza la binarización de la imagen
con cálculo de umbral automático y discriminación
Universitaria de Investigación y Desarrollo e-mail: renzzophd@hotmail.co
de áreas insignificantes en la imagen usando el fragmentos de imagen por separado e identificando áreas
comando bwareaopen. En este caso se discriminaron validas, el proceso es mucho más específico y
las áreas menores a 30 pixeles clasificándolas como discriminativo.
“ruido”.
1. El primer paso para realizar una sectorización
3. El siguiente procedimiento corresponde a el llenado o efectiva esta en declarar las dimensiones totales de la
relleno de secciones de área incompletas por medio imagen usando una variable diferente de la que se usa
de algoritmos de conglomerado de pixeles, y usando inicialmente en la lectura de la misma.
la sentencia imfill(x, ‘holes’); siendo x la imagen a
rellenar.Fig.1 muestra un ejemplo claro de una 2. Luego se deben ubicar los centroides de todas las
imagen procesada con los filtros anteriormente imágenes y establecer una extracción cartesiana de
mencionados. los fragmentos de imagen correspondientes a cada
moneda. Este procedimiento se realiza con la ayuda
4. A continuación se procede al etiquetamiento y de las propiedades de área y centroide de la imagen;
conteo de elementos conectados en la imagen por en el que el área ayuda a establecer el número de
medio del comando [L NUM] =bwlabel este monedas que existen en la imagen, es decir el número
comando retorna una matriz L de igual tamaño que la de veces que se debe ejecutar la sentencia de
imagen a analizar y NUM entrega el número de sectorización; por otro lado el centroide servirá como
elementos conectados en la imagen. El referencia cartesiana para delimitar el fragmento a
etiquetamiento se hace promedio del análisis de extraer. Dicho proceso esta descrito puntualmente en
conglomerado de pixeles similares. Este proceso se el Anexo.1.
realiza básicamente con el fin de establecer las áreas
que se encuentran en la imagen. 3. Como paso final se debe habilitar cada una de las
imágenes sectorizadas para su respectivo análisis de
5. Seguidamente se realiza el cálculo de áreas y proporcionalidad de áreas. Con este fin, se debe
cancroides de los objetos considerados como áreas en binarizar la imagen de nuevo, ya que para su
la imagen a través de visualización sectorizada fue necesario observar la
regionprops(L,’Area’,’Centroid’), con estos imagen en escala de grises. De igual modo se
parámetros será posible crear proporciones para la eliminan áreas insignificantes que se toman en la
discriminación de monedas en pasos posteriores. El sectorización y que hacen parte de otras figuras en la
área será dada como una magnitud que indica el imagen. Fig.2 muestra un ejemplo de una área
número de pixeles que ocupa un objeto en la imagen, extraída de la imagen estudiada en este se pueden
por el contrario el centriode se usara únicamente especular las magnitudes cartesianas que se usaron
como referencia de un punto central del objeto. para determinar el tamaño de la muestra.

6. Con el fin de obtener mayor precisión en el cálculo D. Discriminación por proporcionalidad de áreas:
de proporciones es adecuado usar una imagen como
referencia dentro de la imagen la cual debe ubicarse Esta sin duda es la parte más compleja del software en
en la parte superior izquierda de la imagen, ya que la la que se utilizara la estrategia de crear rangos
lectura matricial de la misma se realiza en dirección, dinámicos de discriminación de áreas por medio de una
izquierda-derecha. Teniendo en cuenta esto, es serie de condicionamientos anidados que finalmente
preciso establecer el área de dicho objeto con el imprimirán un mensaje final referente al número de
propósito de crear una proporcionalidad referencia- monedas encontradas, el valor de cada una de ellas y la
moneda; este cálculo se realiza por medio de la sumatoria de las mismas.
lectura de las posiciones del vector Area de
regionprops asi:

areareferencia = prop(1).Area;

De igual modo se calcula el radio de los círculos


detectados en el área. Este valor será de gran ayuda
para el proceso de sectorización de la imagen.

C. Sectorización:

En este proceso se busca realizar el filtrado y análisis de


propiedades de imagen de una forma más precisa,
organizada y rápida, ya que cuando se analizan los Fig.1 Imagen Filtrada
Metric=4*pi*propfinal(pos).Area/propfinal(pos).Perim
eter^2;

En donde propfinal (pos).Area, es el área de cada una


de las áreas encontradas las cuales son almacenadas en
el array pos. Y propfinal(pos).Perimeter es el perímetro
de cada área hallado automáticamente por el software.

5. La discriminación por condicionamiento se presenta


estableciendo una condición general primaria en la
que todas las áreas que posean un valor para metric
menor que 0.85 no deben entrar en consideración
para la discriminación por áreas; dicha
discriminación se realiza por medio de la
Fig.2 Ejemplo de imagen Sectorizada determinación de una proporción entre el área de
referencia, previamente mencionada y cada área
1. En esta etapa se procede a aplicar otro tipo de filtro hallada en la figura. Como agregado indispensable se
en la imagen, en este caso se trata de un filtro de realizó la escritura del texto correspondiente en cada
supresión de valores medios en el que se trata de imagen indicando el valor de la moneda, y la
aumentar el contraste cromático de la imagen al sumatoria de los valores fue llevada por un contador
máximo por medio de ciertas técnicas de nulidad de contiguo. Los resultados finales de la práctica son
bordes a la imagen multiplicando “ceros” a los visualizados en Fig.3, en donde se muestra la imagen
pixeles que corresponden a los bordes de las monedas RGB original con su respectivo etiquetado y
en la imagen. Para implementar el filtro basta con sumatoria de valores.
aplicar el comando medfilt2 a la imagen a tratar. De
igual modo se utiliza el comando ordfilt2 para dilatar E. Interface Grafica
la imagen de tal forma que esta no posea
irregularidades en sus bordes debido a fenómenos La interface gráfica del software posee varios
derivados de la erosión por el filtro de valores elementos activos en los que se visualizan las
medios. imágenes procesadas y se controlan los procesos a
2. Para realizar cálculos de proporcionalidad también es realizar. Dicha interface cuenta con tres
trascendental realizar una identificación morfológica visualizadores de imagen en diferentes etapas,
de los objetos en la imagen, este parámetro se puede además de tres botones con funciones definidas,
magnificar utilizando las siguientes sentencias: ejecutar corre el programa principal, webcam
inicializa la cámara web para la captura de la imagen
se = strel('disk',2); y captura toma las imágenes; por otro lado la
bw2 = imclose(J,se); interface posee también elementos statictext los
bw2 = imfill(bw2,'holes'); cuales permiten mostrar tres datos diferentes,
Estas sentencias establecen elementos con estructura
morfológica en forma de disco con un radio
específico y además también se produce un
encerramiento morfológico de cada área encontrada.

3. En el siguiente paso se realiza un etiquetado de


elementos conectados en la imagen y por segunda
vez se hace uso de las funciones de regionprops con
el fin de calcular valores de las nuevas áreas,
posteriores a los filtros y de igual modo para conocer
cuál es el perímetro de las áreas calculado
automáticamente con el propósito de hallar un índice
propio de las figuras circulares, el cual oscila entre
valores de 0.85 y 0.96.
4. En este nivel comienza a hacerse un recorrido desde
la primera área hasta la última, para poder realizar la
discriminación basada en condicionamientos para
todas las monedas. En este punto se deben calcular
los valores de la variable metric para cada área; la
fórmula para encontrar metric se define como: Fig.3 Resultados Finales
[2] G. Rafael, W. Richard,” Digital Image Processing” University of
Cantidad de monedas, valor monetario encontrado y Tennessee, MedData Interactive.2002
tiempo que demora la ejecución. Por último se tiene 2. Consultas Externas:
un elemento activo de gran importancia el cual
controla una variable dentro del programa que se [3] Z. Sergio, Docente Encargado, Universitaria de Investigación y
encarga de variar el ajuste de la imagen dependiendo Desarrollo UDI,2011
de la luminosidad del ambiente de captura; este
elemento es un edit text y tiene un rango de varianza
entre 0 y 8. Fig.4 expone una imagen previa de la VII. BIOGRAFIA DE LOS AUTORES
interface gráfica que se encuentra relacionada
procesalmente en el Anexo.1. Renzzo Gómez Reátiga (Mayo 29 de 1990) Nació en Duitama Boyacá. Sus
primeros estudios los realizo en el instituto integrado nacionalizado
Guillermo león valencia, donde pudo culminar sus estudios de primaria,
después de esto se traslado a la ciudad de Bucaramanga para finalizar sus
V. CONCLUSIONES estudios secundarios en el colegio INEM; años más adelante ingreso a la UDI
para estudiar ingeniería electrónica, institución donde actualmente cursa
Al final del proyecto es menester definir los aspectos más séptimo semestre.
relevantes que rodearon la elaboración del software principal, Jimmy Anaya (Marzo 30 de 1990) Nació en Málaga Santander, sus primeros
entre estos aspectos se encuentran: estudios fueron hechos en el centro piloto simón bolívar. Donde también
culmino sus estudios secundarios; finalmente se graduó en 2006 para entrar a
la UDI y estudiar ingeniería electrónica, actualmente se encuentra cursando
1. La mayor dificultad al realizar la discriminación de séptimo semestre. En el campo laboral tiene una vasta experiencia como
proporcionalidad por área en las imágenes fue administrador de bodegas de víveres labor que viene desempeñando hace ya 4
encontrar un rango dinámico que permitiera años
diferenciar la moneda de $100 y la moneda de $500, Oscar Ramos (Mayo 29 de 1982) En la actualidad se encuentra finalizando
sus estudios de ingeniería electrónica en la UDI, sin embargo se encuentra en
debido a que estas poseen áreas muy similares. el punto medio de una especialización en la misma institución. Ha trabajado
2. Se presentaron problemas al utilizar una referencia de para compañías como Comcel S.A por tres años como diseñador de redes
forma cuadrada ya que al implementar el filtro celulares en diferentes departamentos del país como Santander, norte de
medfilt2 esta forma tiende a adquirir cierta curvatura Santander y Arauca.
en sus esquinas perdiendo así pixeles y reduciendo du Rexnik Díaz(Abril 26 de 1986), Nació en Bucaramanga Santander. Cursó la
área lo que provocó una inexactitud a la hora de primera enseñanza en el instituto Luis Carlos galán sarmiento de
hallar la constante de proporcionalidad que se halla girón culminando sus estudios en el año del 2002, en el presente año se
en los condicionamientos anidados. encuentra realizando sus estudios superiores en la universidad de
investigación y desarrollo UDI en ingeniería electrónica cursando el 7
3. El factor de distancia en la captura es una variable semestre, actualmente trabaja para la empresa avícola incubadora Santander
fácilmente controlable por medio del uso de desde hace 5 años desempeñando el cargo de técnico electrónico, en el
referencias, sin embargo, el fenómeno de reflexión de departamento de electrónica de dicha empresa.
la luz es una variable que debe ser controlada
manualmente, dependiendo del ambiente donde se
efectúe la captura.
4. De igual modo cabe anotar que la calidad de la
imagen influye trascendentalmente en el
procesamiento y resultados de la misma, es decir que,
cuando se procesa una imagen capturada a 10
Megapíxeles la velocidad de la ejecución y la
probabilidad de error aumentan considerablemente.
Por esto es siempre recomendable trabajar el
procesamiento con imágenes que se encuentren a una
resolución entre 1 y 5 Megapíxeles.
5. El software presenta inconvenientes con las figuras
que se encuentran muy cerca del borde límite de la
imagen debido a que la sectorización exige un
margen alrededor del área que es aproximada mente
3 la magnitud del área encontrada, del cual se extrae
la muestra. Cuando los objetos se ubican en los
límites de la imagen el software queda imposibilitado
para tomar la muestra y por lo tanto no procesa la
información generando un error.

VI. REFERENCIAS
1. E-books:

[1] E. José, “Fundamentos de procesamiento de imágenes” Instituto


Tecnológico de Ciudad Madero, Noviembre 2002. Fig.4 Interface Grafica

También podría gustarte