SISTEMA DE GENERACIÓN Y DESARROLLO DE PLANTILLAS PARA LA ELABORACIÓN DE CUADROS BORDADOS SISTEMA DE GENERACIÓN Y DESARROLLO DE PLANTILLAS PARA LA ELABORACIÓN DE CUADROS BORDADOS Categoría: Pre-Grado – Alumno Área Temática Ingeniería de Sistemas - Procesamiento Digital de Imágenes Autores Giancarlo Paoli Rosas Anderson Sinche Albornoz Universidad Peruana de Ciencias Aplicadas (UPC) Facultad de Ingeniería – Escuela Profesional de Ingeniería Electrónica Lima - Perú Asesor Dr. Guillermo Kemper Vásquez RESUMEN El presente proyecto apunta a implementar un sistema computacional de procesamiento de imágenes que permita obtener plantillas para la generación de cuadros bordados en diferentes tipos de punto (punto cruz, pespunte, vainica simple, etc). Para la generación de esta plantilla, se define un tamaño de bloque conformado por una gran cantidad de píxeles correspondientes a la imagen original. El tamaño del bloque dependerá del tamaño real en centímetros en que se desea el bordado y el tamaño del punto a utilizar, pues este varía de acuerdo a la tela o lienzo seleccionado. Luego, a lo largo y ancho de la imagen, se halla el color que mayor predominancia posea en cada bloque, utilizando para ello la técnica de histograma. El color predominante es guardado en una matriz. Luego se haya el color equivalente a partir de la base de datos de colores de hilos de fabricantes. Cuando se obtiene la imagen cuadriculada con los colores existentes, se le asigna el símbolo correspondiente al color y luego se muestra la leyenda con los símbolos y un código asociado del fabricante del hilo. Esto con el fin de que el usuario pueda distinguir el color de cada punto. Adicionalmente, se crea otra imagen donde se ha generado un efecto en el cual el usuario podrá visualizar con anticipación el resultado del bordado. El programa permite al usuario personalizar sus imágenes mediante herramientas de edición, agregar características propias y eliminar secciones indeseadas sin la necesidad de utilizar otro programa. El objetivo principal del proyecto consiste en disminuir los costos de los fabricantes de cuadros bordados así como su tiempo de producción, ya que, por lo general, estos diagramas son enviados a elaborar al extranjero ya que no existe empresa que los desarrolle en el Perú. ABSTRACT This project is about the implementation of an images processing system that consists of getting a diagram for the production of embroidered pictures made by different kinds of styles. For the diagram is necessary to define the size of blocks which are formed by a lot of pixels of the original picture. This size depends of the real magnitude in centimeters in which is desired the embroidering and the size of the point to use, because this parameters varies according to the canvas selected. Then, all over the image, it finds the color that has greater predominance in each block using the histogram technique. The predominant color is saved in a matrix and then the equivalent color is compared with the thread’s data base colors of the manufacturers. When we have the squared picture with the real thread colors, the symbol is assigned corresponding to each color and then a legend with the symbol codes is shown. In Addition, another picture, where we can see an embroidered effect of the original picture simulating the final product, is made. This additional characteristic represents an incentive for the customers. This software allows to the customers to personalize their own images using editing tools developed to add specific characteristics and cut unneeded sections without using another software. The main objective of the project is to decrease the cost and time of the manufacturers of embroidered pictures, because nobody makes this diagrams in Peru, and it is very expensive to buy them in Europe. 1 UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) SISTEMA DE GENERACIÓN Y DESARROLLO DE PLANTILLAS PARA LA ELABORACIÓN DE CUADROS BORDADOS I.- INTRODUCCIÓN En la actualidad, en el Perú existe un sector económico dedicado a la elaboración de artesanías, entre las cuales destacan los productos bordados a mano. Es así que, se puede encontrar gran cantidad de revistas y publicaciones con diversos diagramas de alta complejidad para cuadros profesionales, así como también páginas de Internet que brindan diagramas simples para principiantes. Para poder elaborar estos cuadros, los productores utilizan un diagrama que les permite guiarse a través del lienzo e identificar específicamente el color de hilo que le corresponde en cada recuadro de la guía. El proceso del bordado puede durar desde unas pocas semanas cuando se bordan cosas pequeñas, llegando a tardar seis u ocho meses cuando la imagen a bordar es de gran tamaño y/o complejidad. Sin embargo, uno de los principales problemas para la elaboración de estos cuadros es obtener el diagrama o guia de bordado específico de la imagen que se desea. Este tipo de diagramas no se generan en el Perú, de tal manera que los artesanos deben enviar las imágenes a otro país para poder obtener el diagrama, con lo cual, se extiende aún más el tiempo de producción y de igual manera los costos. El presente proyecto tiene la finalidad de desarrollar un sistema para elaborar los diagramas o plantillas requeridos para la fabricación de cuados bordados. El sistema tendrá la capacidad de desarrollar las plantillas en base a imágenes que se obtienen de un archivo o por medio de un scanner de manera que se puedan aminorar el tiempo y costos del producto final. II.- OBJETIVOS • Desarrollar un aplicativo de software que permita la generación de plantillas y patrones confiables para la confección de cuadros bordados. • Estudiar y desarrollar técnicas de procesamiento de imágenes orientadas a la mejora y edición de imágenes digitales . • Desarrollar un sistema WEB que permita interactuar remotamente con el aplicativo a ser desarrollado. • Colocar a disposición una herramienta computacional de bajo costo que permita incentivar en el mercado nacional la producción de cuadros bordados. III.- JUSTIFICACIÓN La gran demanda actual de cuadros bordados hace que el tiempo cumpla un papel importante en la realización de los mismos. De esta manera, una solución a este inconveniente es el desarrollo de un software que permita entregar en un plazo mas corto y a menor costo el diagrama requerido. Esto permitirá incrementar el rendimiento de producción de los cuadros artesanales y crear una ventaja competitiva frente a otros mercados. II.- APLICACIONES • Uso de de diagramas de bordado para fabricantes aficionados y pequeños productores, donde se disminuyan los costos de elaboración. • Distribución de los diagramas realizados con el software para el proyecto sierra exportadora, que permita promover las actividades de bordado en las comunidades mas alejadas. En provincias, existen muchos artesanos que conocen diversos tipos de bordado pero que no son promovidos por que no se incentiva dicha actividad. De esta manera, el sistema de generación de diagramas de bordado permitirá estandarizar los materiales utilizados con la finalidad de mejorar la calidad, aumentar el volumen de fabricación y elevar el precio del producto final. • Utilizar el diagrama como guía en un sistema SCADA para máquinas automatizadas de bordado, que indiquen la posición donde se coloque el color de hilo determinado. De esta manera, se generarán bordados a gran escala utilizando de guía los diagramas realizados en conjunto con los equipos industriales. 2 UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) SISTEMA DE GENERACIÓN Y DESARROLLO DE PLANTILLAS PARA LA ELABORACIÓN DE CUADROS BORDADOS IV.- DESARROLLO DEL TRABAJO El sistema de generación de plantillas para la elaboración de cuadros bordados consta de una primera etapa de adquisición de datos, en la cual se utiliza un escáner, cámara digital u otro equipo transductor como dispositivo de entrada para digitalizar la imagen que se desea bordar. La adquisición de la imagen del usuario podrá realizarse de igual manera por parte WEB, teniendo una gran interacción y demostración del producto en línea. Luego de tener dicha imagen en formato digital, esta ingresa a la etapa de procesamiento, donde, por medio de una computadora, se procede a generar nuevas imágenes donde se muestren las guías para proceder con el bordado con su señalización respectiva dependiendo de la marca del hilo a usar y una imagen de demostración de cómo sería el producto final luego de ser bordado. Posteriormente, la imagen final será enviada al dispositivo de salida que podría se una impresora, si la imagen no es muy grande; o podría se enviada a un plotter, si es que la imagen resultante es de un tamaño mayor o devuelta de forma WEB, si la operación se realiza remotamente. Los dispositivos de entrada a utilizar pueden ser cámaras fotográficas digitales, escáneres, dispositivos de almacenamiento USB entre otros. Cuando ya se tiene la imagen a ser procesada, esta es cargada en el programa y se almacena en la memoria (Almacenamiento de imagen). Paralelamente, se ingresarán parámetros como el tamaño de salida (en cms), el tipo de bordado y detalles del tamaño de píxel con que se va a cuadricular la imagen. Toda esta información es evaluada en el etapa de validación de datos para que estos sean coherentes y correctos. Esta fase esta encargada de que la información no tenga errores al momento del procesamiento de la imagen. En el programa, se tienen herramientas tanto para la generación de diagramas y efectos como para la edición de la imagen. Estas herramientas se pueden apreciar en la presentación del programa de la Fig. 1. Menú Principal Zona de Trabajo Barra de Herramientas Barra de Edición Barra de Estado Fig. 1 Presentación del Aplicativo. En el menú principal, se tienen las opciones básicas para el programa, como abrir una imagen, guardar los cambios, la configuración de impresión e impresoras, cerrar todo y salir del programa. También se tienen la opción de ocultar o mostrar la barra de herramientas que se desee, opciones de configuración de imagen y las opciones de ayuda. En la barra de herramientas se tienen las opciones rápidas de abrir y guardar imagen. Así también, se tiene la opción de configuración, la cual abre una ventana emergente donde se ingresan los valores de altura y ancho en la que se desea la imagen resultado así como el tamaño de cada cuadro del lienzo a usar. La opción siguiente es la de procesar, en la cual se asignará un tamaño de bloque dependiendo del tamaño de salida ingresados compuesto de varios píxeles y de los cuales de hallará en píxel con mayor predominancia en cada bloque. Luego, este píxel será comparado con la base de datos de los hilos para encontrar el color que más se asemeje y asignarlo a la imagen resultante. Este proceso puede observarse gráficamente en la Fig. 2. 3 UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) SISTEMA DE GENERACIÓN Y DESARROLLO DE PLANTILLAS PARA LA ELABORACIÓN DE CUADROS BORDADOS Imagen Original Imagen Final W 1 2 1 1 m 1 Píxel Predominante Cuadro H Píxeles de Imagen n n n = floor ( H ) tamaño cuadro m = floor ( W ) tamaño cuadro Fig. 2 Asignación de colores. Debido a que el algoritmo desarrollado para la generación de diagrama de bordado trabaja como máximo con las dimensiones de la imagen original, se generó la necesidad de implementar un algoritmo para poder incrementar el tamaño de las imágenes cuando el tamaño final deseado es mayor que el de la imagen original. De esta manera, se implemento el algoritmo de interpolación bilineal para poder mejorar la calidad de la imagen resultante .El algoritmo de interpolación bilineal se basa en la inserción de nuevos píxeles en la imagen en función a los colores de los vecinos. De esta manera, el píxel no distorsiona la imagen de forma significativa. Considerando a la imagen como una función de dos dimensiones f(x,y)que se denota por fij con i = 0,1,... m y j = 0,..., n, y sea (x, y) el punto en el que se desea interpolar, la expresión del polinomio de interpolación bilineal viene dada por: θ ( x, y) = (1 − t ) f i , j + t (1 − u ) f i +1, j + tufi +1, j +1 + (1 − t )uf i , j +1 (1) Siendo: t= u= x − xi xi +1 − xi y− yj (2) y j +1 − y j Con t, u = [ 0, 1 ] y: xi ≤ x ≤ xi +1 y j ≤ y ≤ y j +1 (3) 4 UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) SISTEMA DE GENERACIÓN Y DESARROLLO DE PLANTILLAS PARA LA ELABORACIÓN DE CUADROS BORDADOS La interpolación bilineal puede descomponerse en dos interpolaciones lineales sucesivas, una en cada variable. El principal inconveniente de este método es la discontinuidad del gradiente del polinomio de interpolación en las fronteras de cada celda. Es decir la imagen va a estar dada por los vecinos que se encuentren alrededor del píxel de esta manera se concluyó en desarrollar dos funciones de interpolación: factor 3/2 y factor 2. Debido a que si se incrementa demasiado la imagen a un factor demasiado alto el tiempo de procesamiento aumentaría. El siguiente botón es el de Símbolos, el cual se activa luego de haber procesado la imagen y permite asignar un símbolo a cada color asociado con el código del fabricante de los hilos. Para esta asignación, se tiene guardada una base de datos el código del hilo con su respectivo símbolo y a lo que se procede es asignar dicho símbolo donde corresponda en la imagen resultado. Esta asignación es realizada por bloques, es decir, cada símbolo compuesto de 23 píxeles es trasladado a la nueva imagen en un solo bloque y no píxel a píxel con lo que el tiempo de procesamiento es corto. La siguiente opción es la de Efecto de Bordado, que se activa igualmente después de haber procesado la imagen y permite generar una vista previa de cómo quedaría el cuadro luego de ser bordado. Para poder realizar el efecto de bordado es necesario obtener el modelo HSV de la imagen debido a que este efecto consiste en modificar la luminancia. Para producir este efecto se tuvo que realizar la transformación del modelo de aproximación de RGB al HSV y viceversa : −1 G−B 60 × MAX − MIN G−B H = 60 × + 360 MAX − MIN B− R 60 × + 120 MAX − MIN R −G + 240 60 × MAX − MIN 0 S = 1 − MIN MAX V = MAX H Hi = mod 6, → f = 60 0 : R = V 1: s i : Hi = G B =p (4) (5) (6) H − Hi , → p = V(1 − S), → q = V(1− fS), → t = V(1− (1 − f )S) 60 R = q 2: R = p 3: R = p 4: R = t 5: R = V G=V G=V G=q G=p G=p B=p B=t B=V B=V B =q (7) Es así que, afectando a la luminancia de los píxeles, se generaron cuatro patrones de 4x4 píxeles que forman la imagen con el efecto de bordado. Una herramienta de mejora que se tiene es un filtro de mediana que se aplica a la imagen para suavizarla y eliminar contrastes altos así como eliminar ruidos indeseables. Este es un tipo de filtro no lineal que degrada la imagen en menor grado que otro tipo de filtros pasa bajos. Los únicos inconvenientes del filtro de mediana son que se disminuye el desempeño cuando el número de píxeles con ruido es mayor que la mitad del número total de píxeles que cubre la máscara y además de ser más lento que los filtros lineales. Para este caso, se utiliza una máscara de 3x3. Además, se tienen las opciones de Zoom, la cual permite lograr un acercamiento de hasta 1600. La otra opción realizada es la de mover la imagen hacia donde se desea para realizar las modificaciones deseadas con lo que se 5 UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) SISTEMA DE GENERACIÓN Y DESARROLLO DE PLANTILLAS PARA LA ELABORACIÓN DE CUADROS BORDADOS ahorra el uso de los scrolls. Asimismo, se tienen dos botones de flechas, derecha e izquierda, con los cuales se pueden navegar entre las imágenes que se van generando en el proceso de creación del diagrama de bordado. En la barra de Edición se tienen las herramientas desarrolladas para la modificación y personalización de las imágenes. Estas herramientas ayudaran a la mejora del diagrama de salida así como a obtener un mejor diseño. Se tiene la opción de lápiz, la cual permite trazar líneas continuas a lo largo de la imagen con el color que haya sido seleccionado. En esta opción es posible escoger el ancho del lápiz seleccionándolo a la izquierda del menú. Para la selección de los colores se ha creado un menú que se activa al hacer clic derecho sobre la imagen mostrando dos opciones de Absorber y Colores de Anchor. La opción Absorber permite capturar el color donde se encuentre el cursor sobre la imagen. Este color también es mostrado en el visor de la barra de Edición. La siguiente opción, Colores de Anchor, abre una ventana emergente en la cual se encuentran todos los colores de la base de datos de hilos y nos permite seleccionar directamente dichos colores para la edición de las imágenes. Al pasar el cursor por cada color se muestra el código de catalogo lo cual resulta muy útil cuando se buscan colores específicos. Fig. 3 Selección de colores de Anchor Se tiene también la herramienta Polígono, con la cual es posible realizar una figura sobre la imagen y rellenarla con el color seleccionado. Es posible hacer hasta un máximo de 100 puntos y para cerrar el polígono se presiona doble clic y la imagen quedará como en la Fig 4. La siguiente herramienta, Delimitador, es muy similar a la de Polígono con diferencia de que esta conserva dentro del polígono la imagen original y fuera de este lo cambia al color seleccionado. Esta herramienta es muy útil cuando se quieren eliminar los fondos y se desea limitar un objeto como se observa en la Fig 5. Fig. 4 Herramienta de Polígono Fig. 5 Herramienta Delimitador. 6 UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) SISTEMA DE GENERACIÓN Y DESARROLLO DE PLANTILLAS PARA LA ELABORACIÓN DE CUADROS BORDADOS Otras herramientas que se tienen son la de Circulo, con la cual se especifica un radio y dibuja un circulo relleno del color deseado; Difuminar, que permite homogenizar áreas especificas de la imagen. Esta herramienta se basa el filtro de media que extrae el promedio del píxel elegido y los píxeles vecinos. Para obtener este efecto se covolucionan una cierta cantidad de píxeles con una máscara de media de 5 x 5. En la parte final del proyecto, se realizarán las opciones de impresión para poder plasmar el producto con las dimensiones reales del diagrama y posteriormente su correcto bordado. En las opciones de ploteo se elige el modo de como va a imprimirse la imagen: con marco, con medidas, y lo referente a las guías de bordado y el hilo. En programa se desarrollara en C++ y se apoyara en API`s para la conexión con los electos hardware (Impresoras, Scanner). Se realizará un estudio del mercado para establecer el costo de los diagramas de bordado para poder competir en este. IV.- RESULTADOS Fig. 6 Edición de imagen Como se puede observar, en la Fig. 6 se muestra el efecto generado por el programa que permite simular el producto final terminado y donde se obtiene la sensación del bordado final. La figura de la izquierda ha pasado en un primer lugar por filtros que permitieron eliminar los problemas de brillo y el fondo no uniforme que se observa en la figura central. En la figura de la derecha, ya se muestra la imagen luego de ser editada y mostrando el efecto de bordado. El siguiente resultado importante fue la generación de los símbolos que identifican el código de cada color. Fig. 7 Imagen original y efecto de bordado 7 UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) SISTEMA DE GENERACIÓN Y DESARROLLO DE PLANTILLAS PARA LA ELABORACIÓN DE CUADROS BORDADOS Fig. 8 Diagrama de símbolos con su respectiva leyenda. En la Fig. 8 se puede observar una parte del diagrama de símbolos de la Fig. 7 y la relación de símbolos con su respectivo código de hilos que han sido utilizados en el diagrama. V.- CONCLUSIONES • • • El producto permite reducir los costos en la elaboración de bordados debido a que los diagramas generalmente se hacen en el extranjero. Así también, muestra compatibilidad con las diversas marcas de hilos, permitiendo de esta manera tener mayores opciones de precio en el mercado. Debido a la aplicación web, este software permite exportar los diagramas fuera de país, aumentando su distribución y compitiendo con el mercado extranjero. 8 UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC) SISTEMA DE GENERACIÓN Y DESARROLLO DE PLANTILLAS PARA LA ELABORACIÓN DE CUADROS BORDADOS REFERENCIAS BIBLIOGRAFICAS [1] Hymsa. Labores del Hogar: Punto de Cruz. 2003 [2] Anchor. Cartilla de colores. http://www.puntodecruzconarbil.com/materiales/colores__anchor.htm [3] Ingeniería de Sistemas y Automática. Filtrado de imágenes digitales. 2006 [4] www.sia.eui.upm.es/master/VA05.pdf [5] http://es.wikipedia.org/wiki/Teor%C3%ADa_del_color DATOS PERSONALES Giancarlo Paoli Rosas Ca. Las Torcazas 107 Santa Anita, Lima e-mail: u210198@upc.edu.pe Telf.: 01-3630597, Cel: 01-97335324, Nextel: 51*810*2921 Anderson Sinche Albornoz Jr Laredo 443 Santiago de Surco, Lima e-mail: u220177@upc.edu.pe Telf.: 01-4344685, Cel: 0197409155 9 UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS (UPC)