Sei sulla pagina 1di 7

Contador de Monedas mediante Procesamiento de Imgenes en Matlab

Carlos Castillo
#1

, Luis Delgado #2, Vernica Maldonado #3

Profesionales en formacin, Escuela de Electrnica y Telecomunicaciones, Universidad Tcnica Particular de Loja Loja, Ecuador 1 chcastillo@utpl.edu.ec, 2ledelgado@utpl.edu.ec, 3vemaldonadox@utpl.edu.ec

ResumenCon el siguiente trabajo pretendemos aplicar el Dada la necesidad de situar la webcam a una altura fija, hemos procesamiento de imgenes en el reconocimiento deconstruido un soporte mecnico que permita sujetar la cmara monedas; para desarrollar un sistema que nos permitaempleando a su vez una base de fondo negro para que la contabilizar la cantidad de dinero que se muestra en unaadquisicin de la imagen sea ms clara o puedan destacarse an imagen capturada en forma instantnea por la una cmarams los objetos de inters que se encuentren sobre ella (en web. Es as que nuestro inters recae en el estudio de lasnuestro caso las monedas). tcnicas que harn posible este propsito as como la elaboracin del algoritmo de conteo. Palabras claves binarizacin, digitalizacin, segmentacin, morfologa, regionprops, sobel, procesamiento. umbral, toolbox,

I.INTRODUCCIN
Evidentemente el procesamiento de imgenes nos es bastante til en el desarrollo de determinadas aplicaciones. El objetivo de procesar una imagen es mejorar el aspecto de la misma evidenciando en ella ciertos detalles que nos interesa destacar.

Fig.2 Soporte mecnico vista frontal

El primer paso del procesamiento de una imagen es la observacin del objeto o figura bidimensional mediante un III.ADQUISICIN DE LA IMAGEN sistema productor de imgenes (cmara), luego se realiza el muestreo y digitalizacin de los datos obtenidos por el sistema y Primeramente es necesario que el software matlab haga el el almacenamiento de los mismos en una matriz de dgitosreconocimiento de la cmara que nos facilitar la adquisicin de binarios, finalmente se efecta el procesamiento de la imagen la imagen a procesar. Es as que para ello una vez instalado el digital para extraer la informacin buscada. En la figura 1dispositivo ejecutamos las siguientes lneas de cdigo: podemos apreciar la secuencia del proceso antes descrito.[1]
>> info=imaqhwinfo info = InstalledAdaptors: {'coreco' 'winvideo'} MATLABVersion: '7.8 (R2009a)' ToolboxName: 'Image Acquisition Toolbox' ToolboxVersion: '3.3 (R2009a)'

Fig.1 Diagrama de bloques del Procesamiento Digital de Imgenes

>> info=imaqhwinfo ('winvideo') info = AdaptorDllName: AdaptorDllVersion: AdaptorName: DeviceIDs: [1x81 char] '3.3 (R2009a)' 'winvideo' {[1] [2]}

II.CONSTRUCCIN DEL SOPORTE MECNICO

DeviceInfo: [1x2 struct] info=imaqhwinfo ('winvideo',2) info =

IV.TCNICAS DE PROCESAMIENTO DE IMGENES


El procesamiento a efectuarse se da a partir de los lineamientos establecidos o de los objetivos que con ello hemos de conseguir. Siendo este el caso, nuestro objetivo es reconocer las monedas para luego presentar como resultado el total de dinero visualizado en la imagen capturada.

2)'

DefaultFormat: 'RGB24_352x288' DeviceFileSupported: 0 DeviceName: 'VideoCAM GF112' DeviceID: 2 Es as que tomando en consideracin dichos fines, a ObjectConstructor: 'videoinput('winvideo',continuacin citamos algunas de las opciones y tcnicas que nos SupportedFormats: {1x10 cell}

han servido para el desarrollo de este tema:

>> v1=videoinput('winvideo',2); >> preview(v1)

A. Binarizacin de imgenes
La binarizacin convierte la imagen recibida (capturada) en una imagen binaria, separando as el fondo de los objetos a analizar. As se puede llevar a cabo el procesamiento y reconocimiento de patrones especficos, considerando nicamente los objetos de inters. [3] La funcin que se utiliza para binarizar una imagen es la siguiente im2bw, pero se aplica a imgenes en escala de grises. Para las imgenes RGB color, ser necesario antes, aplicar la funcin rgb2gray y graythresh para determinar el umbral que se emplea en la funcin de binarizacin. El proceso de umbralizacin de imgenes ayuda a minimizar la prdida importante de informacin que puede traer consigo la binarizacin. Vamos a suponer que una imagen en escala de grises f(n), puede tener K posibles niveles de grises: 0,1,2,,K-1. Se define el umbral como un nmero entero T, el cual se encuentra en el rango de escala de grises dado que T {0,1,2, ,K-1}. As el proceso de umbralizacin es un proceso simple de comparacin: cada valor de pixel en f(n) se compara con T y en base a dicha comparacin se tiene a la salida una imagen binaria g(n). Tal como se describe en la expresin que sigue. [4]

Fig.3 Resultado de la funcin videoinput y preview para la adquisicin y visualizacin de video

>> captura=getsnapshot(v1); >> image(captura)

gn=0 si f(n)T1 si fn<T

Fig.4 Resultado de la funcin getsnapshot e image para la captura y presentacin de la imagen

Fig.5 Imagen convertida a binaria a travs de la funcin im2bw.

De acuerdo con los resultados la cmara a utilizar en nuestro B. Deteccin de bordes caso es la #2, entonces ejecutando las lneas de cdigo que La deteccin de bordes es usada para identificar o resaltar los siguen podemos obtener la captura de una imagen. [2] bordes de una imagen. Para ello empleamos la funcin edge de matlab, la cual busca sitios en la imagen donde la intensidad v1= videoinput('winvideo', 2); preview(v1) cambia rpidamente.
captura=getsnapshot(v1); image(captura)

Una vez aplicada la funcin, el resultado es una imagen binariaUna vez determinada el rea podemos relacionarla con su valor, del mismo tamao que la imagen original en la cual, 1 significa de manera que puedan repetirse las nominaciones y el algoritmo que ha detectado un borde y 0 es que no lo ha detectado. de conteo establecer cuantas monedas del mismo valor aparecen en la imagen. Con esta funcin pueden aplicarse varios mtodos de filtrado, entre los cuales citamos: B. Mejoramiento del fondo de la imagen SOBEL
bw1=edge(im_g,'sobel',T);

PREWITT
bw2=edge(im_g,'prewitt',T);

ROBERTS
bw3=edge(im_g,'roberts',T);

LAPLACIAN OF GAUSSIAN
bw4=edge(im_g,'log',T);

Lo que se procura es hacer que el fondo (supuestamente negro) sea uniforme, ya que en la captura de la imagen algunas partes del fondo tienen mayor intensidad de brillo por lo que sern considerados como objetos al momento de etiquetar la imagen binarizada. Para eso a cada espacio de la imagen RGB lo binarizamos con un umbral apropiado tal que si se supera este, dichos pixeles tomen el valor de uno. Aplicado esto obtenemos una imagen binaria en la cual el fondo es blanco y los objetos estn en negro (si poseen un valor mayor al umbral) como se aprecia en la fig. 7

ZERO-CROSS
bw5=edge(im_g,'zerocross',T);

CANNY
bw5=edge(im_g,'canny',T);

De donde T, es el parmetro: thresh, parmetro que determina el umbral de binarizacin en el filtrado: sobel y canny son usados con frecuencia, de los cuales el ms potente es el segundo por cuanto utiliza dos umbrales diferentes para descubrir bordes fuertes y dbiles. A. Determinacin del rea
Fig 7_Imagen con el fondo modificado im_colorbw1

El toolbox para procesamiento de imgenes de matlab, nos ofrece C. Supresin del ruido de la imagen original la posibilidad de encontrar mediciones de caractersticas tales como el rea, centroide y otras, de los objetos previamenteUna vez que hemos logrado establecer un fondo uniforme, etiquetados o clasificados por la funcin bwlabel. Esta funcinconvertimos de nuevo la imagen a RGB para luego transformarla nos permite detectar la posicin del objeto en la imagen y la etiquetacin del mismo para luego con la funcin imfeaturea escala de grises y a binaria con el umbral que nos calcula la funcin graythresh, esto con el fin de aplicar algunas encontrar las caractersticas de dicho objeto. operaciones morfolgicas para eliminar objetos pequeos, y Dado que nuestro inters se centra en la determinacin del rea, restaurar otros elementos con 4 pixeles de radio. Esto se puede por cuanto las monedas presentan diferente tamao; podraapreciar en la fig. 9. considerarse una opcin vlida para diferenciarlas. Para este efecto aplicaremos la funcin regionprops muy utilizada para medir las propiedades del objeto y determinar su rea inclusive tomando imgenes no binarizadas, pero si a escala de grises. [7]

Fig.8_Eliminacin de ruido con la funcion im_open0

D. Segmentacin de Imgenes
Las tcnicas de segmentacin orientadas a las regiones tienen su base en las reglas de similitud y en la conectividad de los pxeles. Las regiones se forman mediante pxeles que tengan conectividad

Fig.6 Determinacin del rea de objetos empleando la funcin regionprops

y presenten alguna propiedad de similitud y discrepancia respecto al resto de los pxeles que no pertenecen a la regin. Accedemos a cada valor retornado por impixel de la siguiente forma: % crefRn=double(pixn(1,1)); % crefGn=double(pixn(1,2)); % crefBn=double(pixn(1,3)); Creamos un vector para cada espacio de color que contenga los valores de cada denominacin de moneda correspondiente a ese espacio para luego obtener la media de dicho vector. C5=[crefRn crefRc crefRl crefRb] C5media=mean(C5) Comparamos la media de cada uno de los vectores para poder establecer un color de referencia para cada denominacin de moneda que con cierta tolerancia sea comparado con la imagen Segmentacin de los objetos por forma RGB en el espacio de color que resulte de la bsqueda de la Como una primera forma de segmentar objetos circulares demnima media de los vectores creados anteriormente. La imagen cualquier otra forma realizamos el etiquetado de los objetos deque se obtiene de comparar el valor de referencia con la imagen la imagen binaria del procesamiento anterior a travs de laRGB es una imagen binaria en la cual el valor de 1 (blanco) funcin bwlabel que nos permite obtener las caracteristicas designfica que coincide el valor de referencia con el valor del pixel los objetos etiquetados (excenticidad, area permetros etc). Ade la imagen RGB y 0 (negro) significa que no coinciden. Esta todos los objetos etiquetados les aplicamos el criterio deimagen se puede ver en la fig. 12
Fig. 9 Proceso de segmentacin de imgenes

circularidad representado por la siguiente expresin: 4*pi*Area/Perimetro^2 con el fin identificar solo los objetos circulares tal como se muestra en la fig. 5 y fig. 6

Fig. 10_Identificacin de objetos totalmente circulares

Fig.12 Imagen de las monedas segmentadas por color im_in

A. Procesamiento morfolgico de la imagen. Las tareas de segmentacin no suelen dar un resultado exacto de la delimitacin de los objetos o regiones de inters. Aparecen pxeles mal clasificados, bordes imprecisos de los objetos o regiones que estn solapadas. Por tanto, antes de extraer ms caractersticas de medio nivel se requiere de una etapa de postFig. 11 Eliminacin de objetos que no cumplen con la condicin de circularidad procesamiento. En esta fase se suele emplear el tratamiento morfolgico. Es una tcnica de procesamiento no im_color lineal de la seal, caracterizada en realizar la geometra y forma de los objetos. Su fundamento matemtico se basa en la teora de Segmentacin de los objetos por color conjunto. Aplicamos una serie de operaciones morfolgicas con el fin de En esta parte tomamos una muestra de un pixel por cada una deeliminar ruido, rellenar objetos, eliminar objetos con formas las denominaciones de las monedas que se pueden ver en lademasiado irregulares, de manera que solo se conserven los imagen segmentada por forma a travs de la funcin impixel, laobjetos que tienen un porcentaje grande del color de las cual nos devuelve los valores de intensidad de cada uno de losdenominaciones de monedas escogidas. El resultado de estas espacios del pixel seleccionado. operaciones se puede apreciar en la fig. 13.

Fig. 13 Operaciones morfolgicas im_d

Fig.15_Interfaz Grfica GUI del contador de monedas mediante procesamiento de imgenes

B. Restauracin de los objetos segmentados Realizamos la resta entre la imagen binaria de los objetos circulares identificados anteriormente y la imagen binaria del procesamiento anterior a travs de la funcin imsubtract para comparar la imagen que resulto de la resta con la imagen de la que se resto y eliminar de la imagen resultante de la resta los objetos totalmente idnticos a los de la imagen a la que se resto. La restauracin se puede apreciar en la fig. 14.

II.RESULTADOS DE LA APLICACIN DE LAS TCNICAS INVESTIGADAS


MONEDA $ 0.01 $ 0.05 $ 0.10 $ 0.25 $ 0.50 $ 1.00 REA MIN 870 1089 761 1347 2069 1583 MAX 894 1117 814 1433 2305 1686

Tabla.1_Resultados de los ensayos realizados para la determinaicin del rea de las monedas

Fig.14 Imagen restaurada In_aseg

Con estos datos podemos hacer aproximaciones para establecer un rango de rea sobre el cual, considerar la pertenencia de las monedas a una denominacin especfica, puesto que tenemos variaciones de la intensidad de iluminacin a diferentes horas del da tambin se tendr variaciones en los parmetros determinados mediante la funcin <regionprops> que pueden afectar el reconocimiento de una imagen adquirida en tiempo real.

I.DISEO DE LA INTERFAZ GRFICA


A continuacin presentamos una imagen, sobre cmo estamos diseando la interfaz grfica para efectuar la adquisicin, procesamiento y conteo de las monedas que gracias a la cmara pueden ser capturadas para su anlisis.

Fig.16_Reconocimiento de las monedas

III.CONCLUSIONES

[1]

Antes de efectuar el procesamiento de la imagen que nos interesa trabajar, debemos considerar algunos aspectos: la altura en que posicionamos inicialmente la cmara, debe ser constante [2] por cuanto se establecen patrones de referencia que permiten identificar cada elemento de la imagen. Esto, nos ayudar a conseguir precisin en los resultados, dado que para el conteo de las monedas examinamos el rea de cada una de ellas y sin considerar la situacin de la cmara a una altura determinada,[3] podramos tener variantes en dicho aspecto pues al acercar o alejar la cmara tendramos reas cada vez ms grandes o en su defecto cada vez ms pequeas respectivamente, sin que esto nos permita alcanzar nuestro objetivo. Ahora bien la iluminacin tambin es de crucial importancia,[4] ya que segn como vara sta, se examinan los elementos de la imagen en su totalidad o slo en forma parcial, lo cual tambin ocasionara imprecisin de los resultados. El mejoramiento de la imagen fue el primer paso que se estudi [5] en el procesamiento de imgenes. La importancia de este paso es simplificar la imagen que se va a trabajar y la misin es reducir el ruido de la imagen y realzar los objetos que tienen ms importancia en la imagen que se est analizando. Es importante[6] destacar que las distintas tcnicas vistas en el estudio del mejoramiento de imgenes, son aplicables de acuerdo al ambiente en que se est trabajando, adems dependern de la calidad de la imagen que se tome y los medios de iluminacin [7] con que se trabaje. Diversas tcnicas de procesamiento de imgenes se muestran de gran utilidad para este propsito, morfologa matemtica,[8] extraccin de bordes, binarizacion, segmentacin, evaluacin del contraste de la imagen y otros procesamientos ms complejos.

Visin Procesamiento de imgenes, consultada el 16 de abril de 2011, [en lnea]. Disponible en: http://catarina.udlap.mx/u_dl_a/tales/documentos/msp/amador_g_ja/ capitulo3.pdf Tcnicas de preprocesado, consultada el 16 de abril de 2011, [en lnea]. Disponible en: http://www.elai.upm.es:8009/spain/Asignaturas/Robotica/ApuntesVA /cap4Procesadov1.pdf Tcnicas de Procesamiento Digital de Imgenes y Reconocimiento de Patrones, consultada el 17 de abril de 2011, [en lnea]. Disponible en: http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/nieto_b_d/capit ulo2.pdf AL BOVIK, Departrment of Electrical and Computer Engineering the Universitiy of Texas at Austin - Handbook of Image and Video Processing. [en lnea]. Disponible en: http://es.scribd.com/doc/45060270/Bovik-handbook-of-Image-andVideo-Processing Deteccin de bordes en una imagen, consultada el 17 de abril de 2011, [en lnea]. Disponible en: http://www4.ujaen.es/~satorres/practicas/practica3_vc.pdf Detecting a cell using Image Segmentation, consultada el 10 de abril de 2011, [en lnea]. Disponible en: http://www.mathworks.com/products/image/demos.html? file=/products/demos/shipping/images/ipexcell.html Deteccin de bordes con el mtodo canny, consultada el 16 de mayo de 2011, [en lnea]. Disponible en: http://www.seccperu.org/files/Detecci%C3%B3ndeBordes-Canny.pdf Funcin edge - matlab, consultada el 16 de mayo de 2011, [en lnea]. Disponible en: http://www.mathworks.com/help/toolbox/images/ref/edge.html

La eleccin de un espacio de representacin adecuado para el[9] Adquisicin y Procesamiento de Imgenes Matlab, consultada el 10 de abril de de 2011, [en lnea]. Disponible en: color sigue constituyendo un reto para el procesado y anlisis de http://www.dspace.espol.edu.ec/bitstream/123456789/7274/1/Dlas imgenes color. La segmentacin es un concepto clave en el 39041.pdf tratamiento digital de la imagen. La segmentacin de una imagen implica la deteccin, mediante procedimientos de etiquetado, de[10]Conectar web-cam en matlab, consultada el 15 de abril de 2011, los contornos o regiones de la imagen, basndose en la [en lnea]. Disponible en: http://www.youtube.com/watch? v=JOxbgsKDtcg informacin de intensidad y la informacin espacial. En este paso, tambin se cuentan con una variedad de formas de segmentar la imagen (segmentacin de bordes o regiones), esto[11]Correcting Nonuniform Illumination, consultada el 16 de abril de 2011, [en lnea], Disponible en: se debe a que la tcnica elegida para poder segmentar una imagen http://www.mathworks.com/products/image/demos.html? depender del ambiente en que se obtenga la imagen, existiendo file=/products/demos/shipping/images/ipexrice.html tcnicas que sern ms tiles en algunas circunstancias que en otras. Es relevante mencionar la importancia de las tcnicas de [12]Procesamiento Morfologico, consultada el 28 de mayo de 2011, [en umbralizacin y segmentacin orientada a regiones. lnea], Disponible en: Trabajar con un objeto como si fuera un vector, facilita mucho ms el trabajo de poder distinguir un objeto de otro y el trabajo[13]Tecnicas de Procesado, consultada el 28 de mayo de 2011, [en de clasificacin es mucho ms fcil. Es importante destacar que lnea], Disponible en: http://isa.umh.es/asignaturas/rvc/cap4Procesadov1.pdf la forma de representar un objeto depende de lo complejo de la figura o de la cantidad de parmetros que se quieran extraer de l[1] p://www.fenercom.com/pdf/publicaciones/energia-solar-fotovoltaica-en-lacomunidad-de-madrid-fenercom.pdf> [Consultada: 28 de mayo de 2010] (color, forma, textura, rea).
[2] http://isa.umh.es/asignaturas/rvc/cap6VAProcMorf.pdf

IV.ANEXOS
Cdigo fuente Ensayos para la determinacin del rea de cada una de las monedas
[3] [4]

<http://www.voltimum.es/page.jsp?id=/co.com/panel %20hibrido.htm#comofunciona> [Consultada: 28 de mayo de 2010] <http://genc.iie.org.mx/genc/fotovoltaico/pdfs/Especificaciones %20tecnicas%20CFE.pdf> [Consultada: 28 de mayo de 2010] <http://www.mundodescargas.com/apuntestrabajos/tecnologia/decargar_energia-solar-fotovoltaica-en-edificios.pdf> [Consultada 07 de junio de 2010]

REFERENCIAS

[5]

<http://www.scribd.com/doc/32606768/Energia-Renovable-DimensionAdo-de-Sistemas-Fotovoltaicos-Aislados-CIEMAT? secret_password=&autodown=pdf> [Consultada 09 de junio de 2010] <http://www.torres-refrigeracion.com/pdf/art_fot_014.pdf> 20 de junio de 2010]

[12]

<http://www.scribd.com/doc/32606768/Energia-Renovable-DimensionAdo-de-Sistemas-Fotovoltaicos-Aislados-CIEMAT? secret_password=&autodown=pdf> [Consultada 09 de junio de 2010] <http://www.torres-refrigeracion.com/pdf/art_fot_014.pdf> [Consultada 20 de junio de 2010] <http://www.solener.com/tarifa.pdf> [Consultada 08 de julio de 2010]

[6] [7] [8]

[Consultada[13] [14]

<http://www.solener.com/tarifa.pdf> [Consultada 08 de julio de 2010]

<http://www.fenercom.com/pdf/publicaciones/energia-solar-fotovoltaicaen-la-comunidad-de-madrid-fenercom.pdf> [Consultada: 28 de mayo de 2010] <http://www.voltimum.es/page.jsp? id=/content/solar_inicio&universe=solar.indice.indice> de mayo de 2010] [15] [Consultada: 27 <http://www.torres-refrigeracion.com/pdf/art_fot_014.pdf> [Consultada 20 de junio de 2010]

[9]

[10]

<http://www.sitiosolar.com/panel%20hibrido.htm#comofunciona> [Consultada: 28 de mayo de 2010] <http://genc.iie.org.mx/genc/fotovoltaico/pdfs/Especificaciones %20tecnicas%20CFE.pdf> [Consultada: 28 de mayo de 2010] <http://www.mundodescargas.com/apuntestrabajos/tecnologia/decargar_energia-solar-fotovoltaica-en-edificios.pdf> [Consultada 07 de junio de 2010]

[11]

Potrebbero piacerti anche