Logo Studenta

Sistema de control de calidad por procesamiento de imágenes

¡Este material tiene más páginas!

Vista previa del material en texto

Sistema de control de calidad por procesamiento de imágenes. 
 
 
 
 
 
 
 
 
 
Melissa Paredes Forero 
Juan David Henao Tovar 
 
 
 
 
 
 
 
 
Trabajo de grado para optar por el título de 
Ingeniero Electrónico 
 
 
 
 
 
 
 
 
 
Director: Ing. Ing. Martha Ruth Manrique Torres, PhD 
Codirector: Ing. Iván Fernando Mondragón Bernal, PhD 
 
 
 
 
 
 
 
 
 
PONTIFICIA UNIVERSIDAD JAVERIANA 
FACULTAD DE INGENIERÍA 
DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA 
2016 
 
Tabla De Contenido 
 
Capítulo 1.	 Agradecimientos .................................................................................................................... 1	
Capítulo 2.	 Introducción ........................................................................................................................... 2	
Capítulo 3.	 Objetivo del proyecto ............................................................................................................. 3	
3.1.	 Objetivo central del proyecto ......................................................................................................... 3	
3.2.	 Objetivos específicos del proyecto ................................................................................................ 3	
3.3.	 Alcance del trabajo de grado .......................................................................................................... 3	
Capítulo 4.	 Marco Teórico ........................................................................................................................ 4	
4.1.	 Mecanizado del Material ................................................................................................................ 4	
4.1.1.	 Centro de Mecanizado ........................................................................................................... 4	
4.1.2.	 EMCO MILL 450 .................................................................................................................. 5	
4.1.3.	 Características de fresado en superficie plana ....................................................................... 5	
4.1.4.	 Rugosímetro ........................................................................................................................... 6	
4.2.	 Sistema de Captura ........................................................................................................................ 6	
4.2.1.	 Cámara ................................................................................................................................... 6	
4.2.2.	 Genie HM640 ......................................................................................................................... 7	
4.2.3.	 Sapera LT SDK ...................................................................................................................... 8	
4.2.4.	 Lente ...................................................................................................................................... 8	
4.2.5.	 Lente ...................................................................................................................................... 8	
4.2.6.	 Distorsión ............................................................................................................................... 9	
4.2.7.	 Corrección de distorsión ........................................................................................................ 9	
4.3.	 Procesamiento de imágenes ......................................................................................................... 12	
4.4.	 Librería OpenCV ......................................................................................................................... 12	
4.4.1.	 Componentes del procesamiento de imágenes a utilizar ..................................................... 12	
4.4.2.	 Histograma ........................................................................................................................... 14	
4.4.3.	 Ecualización del Histograma ............................................................................................... 15	
4.4.4.	 Corrección Gamma .............................................................................................................. 16	
4.4.5.	 Filtro Canny ......................................................................................................................... 17	
4.4.6.	 Filtro 2D ............................................................................................................................... 18	
4.4.7.	 Transformada de Fourier ...................................................................................................... 19	
Capítulo 5.	 Velocidad de captura ............................................................................................................ 20	
5.1.	 Introducción ................................................................................................................................. 20	
5.2.	 Descripción de los elementos de mecanizado .............................................................................. 20	
5.3.	 Cálculos del número de imágenes ................................................................................................ 21	
5.4.	 Conclusiones del capítulo ............................................................................................................ 22	
Capítulo 6.	 Sistema de captura por computador ..................................................................................... 22	
6.1.	 Introducción ................................................................................................................................. 22	
6.2.	 Diagrama de bloques general del sistema .................................................................................... 22	
6.3.	 Elección del lente ......................................................................................................................... 23	
6.4.	 Restricciones de velocidad de transferencia ................................................................................ 24	
6.5.	 Acceso a la cámara ....................................................................................................................... 24	
6.5.1.	 Conexión .............................................................................................................................. 24	
6.5.2.	 Instalación de librerías y configuración ............................................................................... 25	
6.6.	 Captura de imagen ....................................................................................................................... 26	
6.7.	 Calibración de la cámara .............................................................................................................. 28	
6.8.	 Mecanizado de la pieza a utilizar ................................................................................................. 30	
6.9.	 Parámetros de iluminación ........................................................................................................... 30	
6.10.	 Verificación del tiempo de procesamiento .............................................................................. 31	
6.11.	 Conclusiones del capítulo ........................................................................................................ 31	
Capítulo 7.	 Diseño del algoritmo de procesamiento de imágenes .......................................................... 32	
7.1.	 Introducción ................................................................................................................................. 32	
7.2.	 Filtros Realizados ......................................................................................................................... 32	
7.3.	 Medición de rugosidad ................................................................................................................. 35	
7.4.	 Resultados de comparaciónentre filtros ...................................................................................... 36	
7.5.	 Código de identificación de rugosidad ........................................................................................ 37	
7.6.	 Verificación del tiempo de procesamiento .................................................................................. 39	
7.7.	 Conclusiones del capítulo ............................................................................................................ 39	
Capítulo 8.	 Protocolo de pruebas ............................................................................................................ 40	
8.1.	 Introducción ................................................................................................................................. 40	
8.2.	 Pruebas realizadas ........................................................................................................................ 40	
8.3.	 Resultados de las pruebas ............................................................................................................ 40	
8.3.1.	 Prueba a ................................................................................................................................ 40	
8.3.2.	 Prueba b ............................................................................................................................... 40	
8.4.	 Estándares .................................................................................................................................... 41	
8.5.	 Conclusiones del capítulo ............................................................................................................ 41	
Capítulo 9.	 Conclusiones ........................................................................................................................ 42	
Capítulo 10.	 Oportunidades de mejora ..................................................................................................... 43	
Capítulo 11.	 Recomendaciones ................................................................................................................ 44	
Capítulo 12.	 Bibliografía .......................................................................................................................... 45	
Capítulo 13.	 Anexos .................................................................................................................................... i	
13.1.	 Anexo A ...................................................................................................................................... i	
13.2.	 Anexo B .................................................................................................................................... iii	
Índice De Figuras 
 
Figura 1 Movimientos de Fresadora .............................................................................................................. 4	
Figura 2 Especificaciones EMCO MILL 450 ................................................................................................ 5	
Figura 3 Marcas de Mecanizado .................................................................................................................... 5	
Figura 4 Rugosímetro .................................................................................................................................... 6	
Figura 5 Modos según Tap ............................................................................................................................ 7	
Figura 6 Variables en sistema de captura ...................................................................................................... 9	
Figura 7 Tipos de distorsión .......................................................................................................................... 9	
Figura 8 Matriz de la imagen ....................................................................................................................... 10	
Figura 9. GUI toolbox de Matlab ................................................................................................................. 10	
Figura 10 Detección de esquinas ................................................................................................................. 10	
Figura 11. Calibración de imagen ................................................................................................................ 11	
Figura 12 Salida toolbox de Matlab ............................................................................................................. 11	
Figura 13 Imagen original binarización ....................................................................................................... 14	
Figura 14 Umbral Binario ............................................................................................................................ 14	
Figura 15 Valores de imagen en escala de grises ........................................................................................ 15	
Figura 16. Histograma imagen opencv ........................................................................................................ 15	
Figura 17 Filtro equalización ....................................................................................................................... 16	
Figura 18 Función de la corrección gamma ................................................................................................. 16	
Figura 19 Imagen original para filtro gamma .............................................................................................. 17	
Figura 20 Corrección gamma con ! = 2 y ! = 0.5 .................................................................................... 17	
Figura 21 Máscaras de convolución ............................................................................................................ 18	
Figura 22 ecuaciones gradiente y fuerza ...................................................................................................... 18	
Figura 23 Aplicación de filtro Canny .......................................................................................................... 18	
Figura 24 Formulación matemática transformada de Fourier ...................................................................... 19	
Figura 25 Transformada de Fourier imagen ................................................................................................ 19	
Figura 26 diagrama de bloques del sistema ................................................................................................. 22	
Figura 27 Conector cable MISC-FULL-AV-OP-5M .................................................................................. 25	
Figura 28 Configuración puerto ethernet ..................................................................................................... 25	
Figura 29 información de GigeDeviceStatus ............................................................................................... 26	
Figura 30 Menú de inicio código de ejemplo .............................................................................................. 26	
Figura 31 Diagrama de flujo de captura de imagen ..................................................................................... 27	
Figura 32 Resultado de ejecutar "CopyDataToOpencv" ............................................................................. 28	
Figura 33. Patrón de ajedrez para calibración .............................................................................................. 28	
Figura 34 Imágenes introducidas al sistema para la calibración de la cámara ............................................ 29	
Figura 35 Selección de esquinas para calibración ....................................................................................... 29	
Figura 36 Resultados de calibración ............................................................................................................ 29	
Figura 37 Piezamecanizada a diferentes velocidades ................................................................................. 30	
Figura 38 Iluminación en el equipo ............................................................................................................. 31	
Figura 39 Imagen sin y con iluminación ...................................................................................................... 31	
Figura 40 Recorte de imagen original .......................................................................................................... 32	
Figura 41 Kernel para filtro 2D ................................................................................................................... 33	
Figura 42 Aplicación de filtros y threshold para varias velocidades ........................................................... 34	
Figura 43 Transformada de Fourier y threshold .......................................................................................... 35	
Figura 44 Diagrama de flujo funcionamiento del código ............................................................................ 38	
 
 
Índice de Tablas 
 
Tabla 1 Especificaciones de Genie HM640 ................................................................................................... 7	
Tabla 2 Velocidades de avance según control manual ................................................................................ 20	
Tabla 3 Distancia recorrida por número de cortes ....................................................................................... 21	
Tabla 4 Comparación de referencias de lente .............................................................................................. 23	
Tabla 5 Velocidades de transferencia .......................................................................................................... 24	
Tabla 6 Resultados tiempo de captura ......................................................................................................... 31	
Tabla 7. Medidas de rugosímetro ................................................................................................................. 36	
Tabla 8 Resultados muestreo por velocidad de avance (%), 30 muestras ................................................... 37	
Tabla 9 Máscaras para identificación de rugosidad ..................................................................................... 39	
Tabla 10 Resultados tiempo de procesamiento ............................................................................................ 39	
Tabla 11 Resultados muestreo por velocidad de avance (%), 500 muestras ............................................... 40	
Tabla 12 Resultados prueba b ...................................................................................................................... 41	
Tabla 13 Resultados muestreo 2% con 30 muestras ....................................................................................... i	
Tabla 14 Resultados muestreo 20% con 30 muestras ..................................................................................... i	
Tabla 15 Resultados muestreo 40% con 30 muestras ..................................................................................... i	
Tabla 16 Resultados muestro 60% con 30 muestras ....................................................................................... i	
Tabla 17. Resultados muestreo 80% con 30 muestras ................................................................................... ii	
Tabla 18 Resultados muestro 100% con 30 muestras .................................................................................... ii	
Tabla 19 Resultados muestro 120% con 30 muestras .................................................................................... ii	
Tabla 20 Resultados muestreo 2% con 500 muestras ................................................................................... iii	
Tabla 21 Resultados muestreo 20% con 500 muestras ................................................................................. iii	
Tabla 22 Resultados muestreo 40% con 500 muestras ................................................................................. iii	
Tabla 23 Resultados muestro 60% con 500 muestras ................................................................................... iv	
Tabla 24. Resultados muestreo 80% con 500 muestras ................................................................................ iv	
Tabla 25 Resultados muestro 100% con 500 muestras ................................................................................. iv	
Tabla 26 Resultados muestro 120% con 500 muestras .................................................................................. v	
 
 
1 
 
Capítulo 1. Agradecimientos 
 
Queremos agradecer a Dios porque, nos ha permitido llegar a esta instancia de nuestra carrera junto a 
nuestros seres queridos. 
 
Un agradecimiento especial a nuestras familias que nos han brindado incondicionalmente su apoyo y 
compañía en este proceso. 
 
A nuestra directora de tesis, la ingeniera Martha Ruth Manrique Torres y a nuestro codirector de tesis, el 
ingeniero Iván Fernando Mondragón Bernal, quienes depositaron su confianza en nosotros y nos 
acompañaron en todo el proceso. Gracias a sus amplios conocimientos y disposición a la hora de tomar 
decisiones pudimos llevar a cabo este trabajo de grado. 
 
A la facultad de Ingeniería Industrial y a su equipo de trabajo, por abrirnos las puertas del Centro 
Tecnológico de Automatización Industrial de la Pontificia Universidad Javeriana para cumplir con nuestras 
visiones y objetivos de este trabajo de grado. 
 
A nuestras parejas sentimentales, por su incondicional apoyo y comprensión a lo largo de este trabajo de 
grado. 
 
2 
 
Capítulo 2. Introducción 
 
En el sector industrial se han generado diferentes avances tecnológicos para el control de calidad a partir de 
la visión artificial. Entre estos se encuentran una gran cantidad de proyectos en términos de dimensiones, 
color, forma, entre otros. Para este trabajo de grado se propone un código que permite identificar la 
rugosidad superficial a partir de las marcas que se registran sobre el material al paso de la herramienta. Esta 
medición se realizará de forma indirecta a partir de la comparación del patrón a diferentes velocidades y la 
rugosidad medida por cada velocidad, lo que permite identificar de forma discreta la rugosidad del material. 
 
Para desarrollar dicho código, fue necesario identificar la velocidad de procesamiento, que debería tener el 
sistema, para que este pueda identificar la rugosidad, en velocidades de avance que permite el equipo. El 
centro de mecanizado EMCO MILL 450 posee un rango de velocidades de avance entre 4	)/)+, y 
12	)/)+,. Para esto se tuvo en cuenta la cantidad de cortes que realizaría por unidad de tiempo y la 
distancia recorrida por la herramienta la cual determinaría el área de procesamiento. 
 
Una vez identificada esta restricción se procedió a diseñar el sistema de captura, el cual consistió en realizar 
la toma de imágenes con la cámara Genie HM640 haciendo uso del SDK Sapera LT. Este código se realizó 
en C++ cuya función consiste en realizar la captura de imágenes, conversión a formato Mat (tipo de dato 
para imagen en openCV) y exporta la imagen con extensión jpg para su posterior procesamiento. 
 
A partir de las imágenes recolectadas se realizó un código cuya función es identificar la rugosidad superficial 
a partir de un análisis en frecuencia de la imagen. Finalmente se realizaron pruebas para identificar la 
probabilidad de exito del código y proporcionar información sobre sus limitaciones de uso. 
 
3 
 
Capítulo 3. Objetivo del proyecto 
 
En este capítulo, se podrá observar cuales fueron los alcances de este trabajo de grado a nivel del 
cumplimiento de sus objetivos, verificando así la importancia y necesidad a nivel de investigación del 
mismo. 
 
3.1. Objetivo central del proyecto 
 
Diseñar y evaluarun control de calidad por procesamiento de imágenes, en el mecanizado por 
desprendimiento de material, con base en la rugosidad aparente Ra. 
 
3.2. Objetivos específicos del proyecto 
 
1) Establecer el número de imágenes por segundo necesarias para realizar un monitoreo adecuado a un 
mecanizado con una velocidad de husillo entre 1000 y 1500 RPM. 
2) Diseñar un sistema de captura de visión por computador que permita adquirir a la tasa de imágenes 
descrita anteriormente para la utilización en un algoritmo de procesamiento. 
3) Diseñar el algoritmo para el procesamiento de imágenes encargado de determinar el nivel de rugosidad 
de la pieza mecanizada. 
4) Evaluar el sistema de control de calidad con respecto a las condiciones controladas de luz y diferentes 
piezas. 
 
3.3. Alcance del trabajo de grado 
 
Este trabajo de grado tiene como objetivo realizar código que permita la identificación de la rugosidad 
superficial según unas condiciones delimitadas de mecanizado, esto implica que no posee flexibilidad al 
haber cambio de herramienta, cámara, iluminación, material, velocidad de corte, rangos de velocidad de 
avance o equipo utilizado. 
 
Como entregables del proyecto se realizaron dos códigos, uno de ellos corresponde a la captura de imagen 
con el SDK y su exportación. El segundo código corresponde al procesamiento de imágenes y detección de 
rugosidad. Esto se realizó con el objetivo de realizar el procesamiento de imágenes fuera de línea. 
 
4 
 
Capítulo 4. Marco Teórico 
 
4.1. Mecanizado del Material 
 
Este mecanizado consiste en eliminar material de una pieza por medio de una herramienta con filo. Entre 
los más comunes se encuentran: Taladrado, Torneado, Fresado, rectificado [1]. En el mercado, se puede 
encontrar gran variedad de equipos, automatizados o manuales, que nos permiten desarrollar los diferentes 
tipos de mecanizado, estos dependen del tipo de pieza que se quiera desarrollar y las operaciones requeridas. 
 
4.1.1. Centro de Mecanizado 
 
El centro de mecanizado es un equipo automatizado que permite realizar gran variedad de operaciones por 
medio de control numérico computarizado (CNC), esto permite una menor intervención humana y una 
mayor velocidad de producción ya que todos los movimientos del mecanizado se encuentran en un código 
interno, donde el operario solo debe ingresar el material al equipo y la velocidad de avance a la cual se va a 
trabajar [2] 
 
 En el mercado podemos encontrar gran variedad de centros de mecanizado según sus tamaños, tipos, 
funcionalidades y grados de automatización, principalmente podemos dividir en 2 tipos, centro de 
mecanizado de husillo vertical y horizontal. 
 
Los centros de mecanizados con husillo vertical permiten realizar operaciones en superficies planas y 
generar concavidades hondas, estos equipos generalmente poseen un menor costo que los horizontales y son 
altamente utilizadas para la fabricación de moldes. Están muy relacionados a realizar operaciones de fresado 
y taladrado [2]. 
 
Los centros de mecanizados con husillo horizontal estos son más utilizados para la fabricación de piezas 
en donde se debe mecanizar toda la superficie del material. Se encuentran más relacionadas con aplicaciones 
de torneado [2]. 
 
Para este trabajo de grado se tendrá en cuenta el proceso de fresado, el cual consiste en eliminar el material 
a partir de la rotación de la herramienta combinado con el desplazamiento ya sea de la pieza (en el eje X y 
Y) o de la herramienta (en el eje Z) como se muestra en la Figura 1. En este proceso se pueden utilizar 
diferentes tipos de herramienta según las formas que se quieran obtener sobre la pieza [3]. 
 
Figura 1 Movimientos de Fresadora 
 
Tomado de: [3] 
5 
 
4.1.2. EMCO MILL 450 
 
Este equipo es un centro de mecanizado vertical con una adaptación para un 4 eje, posee capacidad para 20 
herramientas diferentes y una velocidad de avance de 10 m/mm la cual puede ser modificada partir de un 
control manual. Las especificaciones técnicas del equipo se pueden observar en la Figura 2. 
 
Figura 2 Especificaciones EMCO MILL 450 
 
Tomado de: [4] 
 
Se escogió este centro de mecanizado para realizar este trabajo de grado, debido a que el Centro Tecnológico 
de Automatización Industrial (CTAI) de la Pontificia Universidad Javeriana cuenta con dicha máquina y 
nos brindó la disponibilidad para poder trabajar en esta. 
 
4.1.3. Características de fresado en superficie plana 
 
Al desplazar la pieza generando una superficie plana, se generan marcas circulares correspondiente al corte 
de la herramienta donde las distancias entre estas dependen del diámetro de la pieza, la velocidad de avance 
del equipo y el número de dientes de la herramienta. Las marcas generadas se observan en la Figura 3. 
 
Figura 3 Marcas de Mecanizado 
 
Tomado de: [5] 
 
Estas marcas se encuentran relacionadas con la rugosidad que posee el material, por lo que a medida que 
estas marcas se hacen imperceptibles a la vista, la rugosidad tiende a disminuir. 
 
6 
 
4.1.4. Rugosímetro 
 
El dispositivo utilizado para medir la rugosidad superficial es el rugosímetro, el cual se puede observar en 
la Figura 4. Este realiza un mapeo de la superficie haciendo un recorrido a lo largo de una sección de la 
pieza, durante aproximadamente 30 segundos, para identificar las irregularidades de la superficie. A partir 
de los movimientos que se genere sobre el palpador, realiza un cálculo de la desviación media aritmética lo 
que genera la medida de la rugosidad en µm.[6] 
 
Figura 4 Rugosímetro 
 
Tomado de: [6] 
 
4.2. Sistema de Captura 
 
Para el reconocimiento de patrones mediante imágenes, es necesario identificar el tipo de lente a utilizar y 
las características de la cámara, además de los factores externos que afectan el sistema. Dentro de los 
factores importantes a tener en cuenta en la selección de los elementos que conforman el sistema de captura 
se encuentran: 
 
4.2.1. Cámara 
 
Para la selección de la cámara de deben identificar los requisitos mínimos para tener una calidad de imagen 
suficiente para el procesamiento, para esto se tendrán en cuenta factores como: si es monocromática o a 
color, el tipo de sensor a utilizar, la técnica de captura, frecuencia de captura, resolución de la imagen [7]. 
 
Monocromática o a color: Dentro de las configuraciones de cámara es posible identificar monocromáticas 
y a color. Estas son utilizadas en diferentes casos según su aplicación. El uso de cámaras monocromáticas 
agiliza la captura de imágenes mientras que las cámaras a color contienen mayor nivel de detalle para el ojo 
humano [7]. 
 
Sensor: Este es un factor a tener en cuenta si se está realizando procesamiento de imágenes a alta velocidad. 
En el mercado se encuentran 2 tipos de sensores: los CCD, los cuales al recibir señal de los píxeles 
adyacentes logran una mayor sensibilidad permitiendo un elevado paso de luz, y Los CMOS, que tienden a 
generar imágenes más oscuras al muestrear individualmente la señal en cada pixel para ser convertida en 
voltaje. Para el caso de los CCD no es adecuado usar imágenes en movimiento ya que estos requieren un 
mayor tiempo para realizar la captura y tienen una mayor exposición de luz al sensor la cual hace que el 
efecto del desplazamiento sea más evidente[8]. 
 
Frecuencia de captura: La frecuencia de captura indica cuantas imágenes es posible adquirir en 
determinado tiempo. Esta frecuencia normalmente se encuentra en Hz y requiere de identificar en el sistema 
de captura, el máximo tiempo aceptable entre imágenes y el tiempo mínimo para no saturar la memoria del 
sistema con datos [7]. 
7 
 
 
Resolución de la imagen: este se refiere a la cantidad de pixeles para describir una imagen. Para esto se 
debe dividir la imagen deseada en cierto número de partes las cuales permitan visualizar con precisión la 
imagen y el mínimo nivel de detalle deseado [7]. 
 
Número de canales (Tap): Esta característica corresponde al número de líneas de datos que envíaninformación de un pixel. Algunas cámaras poseen varios canales para transmitir la información y de 
diferentes formas haciendo más rápido el envío de datos. Los diferentes modos de transferencia se muestran 
en la Figura 5. Estos modos también indican la forma en que se recorre la imagen al ser capturada. 
 
Figura 5 Modos según Tap 
 
Tomado de: [9] 
 
4.2.2. Genie HM640 
 
Para el desarrollo del proyecto se utilizó la cámara Genie HM640 de la empresa Teledyne Dalsa, esta cámara 
permite realizar la captura de imágenes a alta velocidad utilizando un protocolo de comunicación ethernet 
con el computador. La cámara cuenta con una fuente de alimentación por medio de un conector MISC-
FULL-AV-OP-5M. Las características básicas de la cámara se encuentran en la Tabla 1. 
 
Tabla 1 Especificaciones de Genie HM640 
Número de Parte CR-GM00-H640x 
Resolución 640 x 480 pixeles 
Montura C 
Velocidad de Datos Total 92 MB/s 
Máxima velocidad de captura 300 fps 
Tamaño de Pixel 7.4 µm 
Número de Canales 1 
Formato de salida GigE Vision 
Tamaño 44 mm x 29 mm x 67 mm 
Masa 115 g 
Tomad de: [10] 
8 
 
 
4.2.3. Sapera LT SDK 
 
Para la adquisición de la imagen se proporciona un SDK por parte del fabricante, un conjunto de librerías 
que permite realizar la captura de imágenes y almacenar en un tipo de dato llamado GigE Vision. Este es 
un conjunto de estructuras anidadas con la información de la imagen como el formato, tamaño y la 
información de cada pixel. 
 
4.2.4. Lente 
 
En el mercado se pueden encontrar diferentes tipos de lente, la selección de este juega un papel crucial en 
la aplicación a utilizar. Para una correcta selección se deben tener en cuenta varias características, entre 
estas se encuentran: 
 
Montura: Esta corresponde al ajuste con la cámara tanto en la rosca como en la distancia entre el sensor y 
el lente. 
 
Distancia focal: es un cálculo de la distancia desde el punto donde los rayos de luz convergen hasta el 
sensor, esta distancia define el ángulo de visión de la cámara y por ende el área que la cámara puede observar 
[11]. 
 
Enfoque: se refiere a hacer coincidir, en el plano focal, los rayos de la luz en un punto focal en el sensor, 
esto se hace moviendo los lentes internos de tal forma que al refractar la luz se modifique el punto en donde 
se conectan los rayos de luz. Para el caso de estas cámaras, el rango de enfoque se encuentra entre un número 
e infinito y se realiza de forma manual [12]. 
 
Apertura de Diafragma: Este corresponde a un control manual que permite un paso medido de la luz. Esto 
significa que, si se cierra esta apertura, la imagen puede salir más oscura o no verse, por otro lado, al abrir 
completamente el diafragma la iluminación puede ser muy grande y no permitir una buena visualización de 
la imagen al generar brillos indeseados. 
 
En el mercado se encuentra una gran variedad de lentes, uno de ellos es el lente de distancia focal fija, el 
cual es utilizado en aplicaciones de robótica e inspección y son ideales en aplicaciones de visión para 
equipos automatizados. este tipo de lente tienen un límite mínimo de distancia focal especificado según la 
cámara [13]. 
 
4.2.5. Lente 
 
Para cada aplicación se debe elegir un lente según las características de la imagen a obtener. La distancia de 
la cámara, el tamaño del objeto y el nivel de detalle son algunos de los factores que hace que esta elección 
sea tan crítica. Al utilizar un objeto pequeño en el que se desee tener mayor nivel de detalle, la imagen debe 
estar ampliada al momento de la captura y si la cámara se encuentra ubicada lejos de la pieza se agrega una 
mayor dificultad. Por ello se recurre a ciertas ecuaciones que nos permite ver los límites de las cámaras y 
comprobar si el lente puede ser usado en la aplicación. Para identificar si el lente cumple con el requisito de 
debe utilizar la siguiente fórmula. 
 
. =
ℎ×12
ℎ34+53,678	9:;
 ( 1 ) 
 
9 
 
De la ecuación 1, . corresponde a la distancia focal, ℎ es la distancia horizontal del lente, 12 es la distancia 
de trabajo a la cual puede trabajar y <34+53,678	9:;	es la distancia en mm que se quiere observar de forma 
horizontal en la imagen.[13] Para mayor claridad de las variables de la ecuación, en la Figura 6 se puede 
observar la versión gráfica. 
 
Figura 6 Variables en sistema de captura 
 
Editada de: [14] [13] 
 
4.2.6. Distorsión 
 
La distorsión es un defecto que posee una imagen al realizar una deformación geométrica de esta durante 
su captura, esto refleja cómo el aumento cambia a través de toda la imagen. Esta distorsión puede ser positiva 
o negativa [15] como se muestra en la Figura 7, cuando se presenta una distorsión positiva, las esquinas de 
la imagen tienden a irse hacia el centro; por otro lado, al ser negativa, la imagen se extiende hacia afuera en 
cada esquina. Esto produce un efecto indeseado en la captura ya que no permite a la imagen identificar la 
geometría del objeto. 
 
Figura 7 Tipos de distorsión 
 
Tomado de: [15] 
 
4.2.7. Corrección de distorsión 
 
Para la corrección de distorsión se debe obtener la matriz de la imagen, La cual corresponde a una matriz 
cuadrada de 3 x 3 en donde se encuentra especificada la distancia focal de la imagen, el punto central y un 
ajuste conocido como “skew” los valores indican la corrección que se le debe hacer a la imagen capturada 
para no presentar distorsión. En la Figura 8, se muestra la matriz de la imagen en donde los valores Fc 
corresponden a la distancia focal, Cc al punto central de la imagen y Alpha_c al “skew” [16]. 
 
10 
 
Para obtener estos valores se cuenta con herramientas donde a partir de imágenes tomadas a ciertos patrones 
en diferentes ángulos, el sistema es capaz de identificar las curvaturas generadas por distorsión y de esta 
forma generar los índices mencionados anteriormente. 
 
La herramienta con la que se calibró la cámara fue “Camera Calibration Toolbox” de Matlab el cual posee 
una interfaz gráfica en donde se permite cargar las imágenes necesarias para realizar la calibración. Estas 
imágenes deben ser fotografías realizadas a una figura que corresponde a un patrón tipo tablero de ajedrez 
(blanco y negro)[16]. 
 
Figura 8 Matriz de la imagen 
 
Tomado de [16] 
 
Figura 9. GUI toolbox de Matlab 
 
Tomado de: [16] 
 
Una vez ingresadas las imágenes se deben indicar de forma manual los vértices de la imagen para que el 
sistema sea capaz de identificar los vértices de todos los cuadrados del patrón. 
 
Figura 10 Detección de esquinas 
 
(a) 
 
(b) 
Tomado de: [16] 
 
Este patrón consiste de un conjunto de líneas que conforman ciertos puntos de intersección, los cuales en 
una cámara calibrada no deberían formar curvaturas. En caso de presentar curvaturas, se ven reflejadas en 
los parámetros de distorsión en la matriz de la cámara. A partir de los parámetros obtenidos, el toolbox de 
Matlab extiende o encoge secciones de la imagen para corregir dicha deformación y formar las líneas rectas 
que este debería presentar. 
 
A continuación, se observan dos imágenes tomadas por una cámara “ojo de pez”. En el lado izquierdo se 
muestran las imágenes originales, en esta se puede observar que las líneas del patrón poseen cierta curvatura 
11 
 
que no permite identificar con precisión características de la imagen. Al lado derecho se encuentra la misma 
imagen con la corrección de calibración, donde se puede observar claramente el efecto de la perspectiva. 
 
Figura 11. Calibración de imagen 
 
Tomado de: [17] 
 
El resultado de la calibración por medio del toolbox se muestra en la Figura 12. 
 
Figura 12 Salida toolbox de Matlab 
 
Tomado de [16] 
 
Este resultado muestra los índices de la matriz de calibración y demás parámetros necesarios para realizar 
la calibración de la cámara. 
 
12 
 
 
4.3. Procesamiento de imágenes 
 
El procesamiento de imágenes se realiza desde dos enfoques, el primero es el procesamiento de señales, en 
donde se considera el dominio de las frecuenciasy se analiza la imagen como una distribución de señales 
sinusoidales. En el segundo enfoque se realiza un análisis desde el dominio espacial, en el cual se define la 
imagen como una matriz[18]. 
 
El procesamiento de imágenes es un área muy ligada a la visión por computador, sin embargo, cada una 
tiene un objetivo diferente; en el procesamiento de imágenes su objetivo principal es mejorar la calidad de 
las imágenes, en donde se busca eliminar ruido, distorsión, desenfoque, y demás elementos que no permitan 
una imagen aceptable, para su posterior utilización, análisis o interpretación, esto se consigue manipulando 
de forma adecuada los niveles de grises de una imagen [18]. 
 
Por otro lado, se tiene la visión por computador, que tiene como objetivo principal extraer características de 
una imagen para su descripción e interpretación, esto se hace partiendo del procesamiento de imágenes [19]. 
 
4.4. Librería OpenCV 
 
Las siglas Opencv provienen de los términos anglosajones “Open Source Computer Vision Library”. Esta 
es una librería que se enfoca en el tratamiento de imágenes, destinada principalmente a aplicaciones de 
visión por computador en tiempo real [20]. Su comienzo se originó cuando la empresa Intel® Corporation 
en el año 2000, anunció que estaba desarrollando una librería para la visión por computador que se basaba 
en lenguaje C [21]. Está biblioteca es usada por empresas a nivel mundial para crear desarrollos tecnológicos 
y avances en el campo de la visión por computador, algunas empresas que hacen uso de esta librería son: 
Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota. Sin embargo, hay países donde se hace uso 
de esta librería con diferentes propósitos, por ejemplo: la detección de intrusiones en un video de vigilancia 
en Israel, los equipos de vigilancia de minas en China,, detección de accidentes por ahogamiento de la 
piscina en Europa, corriendo el arte interactivo en España y Nueva York, comprobando pistas de aterrizaje 
para los desechos en Turquía, la inspección de las etiquetas de los productos en las fábricas de todo el mundo 
a la detección de rostros rápida en Japón, entre otros. [22]. 
 
Cabe resaltar que, Opencv cuenta con interfaces para C ++, C, Python, Java y MATLAB y es compatible 
con Windows, Linux, Android y Mac OS. Lo que hace que esta librería sea muy completa. A su vez, Opencv 
cuenta con más de 2500 algoritmos optimizados y tiene la característica que puede ser usado tanto para uso 
comercial como para su uso no comercial, en pocas palabras es considerado como un software libre. Estos 
algortimos pueden ser utilizados para: detectar y reconocer las caras, identificar objetos, clasificar las 
acciones humanas en los vídeos, los movimientos de cámara pista, moviendo el seguimiento de objetos, 
extraer modelos 3D de objetos, producen nubes de puntos 3D de cámaras estéreo, fusionar imágenes juntos 
para producir una alta resolución la imagen de una escena completa, encontrar imágenes similares de una 
base de datos de imágenes, eliminar los ojos rojos de las imágenes tomadas con flash, seguir los 
movimientos de los ojos, reconocer el paisaje y establecer marcadores para revestirlo de realidad aumentada, 
etc. [22]. Particularmente en este trabajo de grado se hará utilización a todos los algoritmos de Opencv que 
hacen referencia al tratamiento de imágenes y texturas. 
 
4.4.1. Componentes del procesamiento de imágenes a utilizar 
 
A continuación, se presentan los conceptos más importantes que conforman el procesamiento de imágenes. 
 
13 
 
Imagen digital 
 
Se define una imagen digital como aquella representación bidimensional construida a partir de una matriz 
binaria (compuesta de unos y ceros) [23], cuya amplitud o valor será el grado de iluminación (intensidad de 
luz) en el espacio de coordenadas (>, @) de la imagen en cada punto [24] . Se pueden encontrar dos tipos de 
imágenes: la imagen a color y la imagen monocromática (imagen en escala de grises). Es importante resaltar 
que un procesamiento de imágenes se consigue manipulando de forma adecuada los niveles de grises de una 
imagen. 
 
Teniendo en cuenta lo anterior, es necesario representar las imágenes a color en imágenes monocromáticas, 
para esto se hace la utilización de unos de los modelos existentes en la litografía, el cual es el RGB (Términos 
de la lengua inglesa Red - Green - Blue), dicho modelo consiste en representar los diferentes colores a partir 
de la mezcla de los tres colores primarios [25]. Con este modelo se puede descomponer una imagen a color 
en tres imágenes monocromáticas en donde se verán los componentes de cada color en niveles de grises y 
hacer el procesamiento con estos tres planos. 
 
Una imagen monocromática, podemos considerarla como una matriz donde el elemento denominado pixel 
(abreviaturas del inglés picture elements) en la fila + columna	B tiene un nivel de gris .(+, B) que toma valores 
entre 0 (negro) y 255 (blanco)[18]. 
 
 
 
Segmentación 
 
En este proceso de segmentación se busca descomponer una imagen en sus partes constituyentes, es decir, 
los objetos de interés y el fondo. Teniendo en cuenta que la mayoría de las imágenes tienen zonas que 
comparten las mismas características, es importante resaltar que la segmentación de una imagen es la 
división por varias zonas o regiones de características idénticas (homogéneas). [26] 
 
Los algoritmos de segmentación de imágenes monocromáticas se basan en alguna de las siguientes tres 
propiedades: 
 
a) Discontinuidad en los tonos de gris de los píxeles de un entorno, que permite detectar puntos 
aislados, líneas y aristas (bordes). 
b) Similaridad en los tonos de gris de los píxeles de un entorno, que permite construir regiones por 
división y fusión, por crecimiento o por umbralización. 
c) Conectividad de los píxeles desempeña un papel importante en la segmentación de imágenes. 
Recordemos que una región D se dice conexa o conectada si para cada par de píxeles de la región 
existe un camino formado por píxeles de D que los conecta. Un camino de píxeles es una secuencia 
de píxeles adyacentes (que pertenecen a su entorno inmediato). [26] 
 
Binarización 
 
La binarización se realiza con el fin de separar regiones de una imagen correspondientes a los objetos que 
queremos analizar. Dicha separación se basa en la variación de intensidad entre los píxeles del objeto y los 
píxeles que hacen parte del fondo. Para poder diferenciar los píxeles de interés entre los que eventualmente 
serán rechazados, se compara la intensidad de cada píxel de la imagen con un umbral, este umbral se 
determina dependiendo de cada problema. 
 
14 
 
Se pueden realizar 5 operaciones de binarización con la función a utilizar de la librería Opencv, para mostrar 
principio fundamental de la Binarización, se considerará una imagen origen src (x, y), en la cual se pueden 
encontrar los diferentes valores de intensidad de cada uno de los píxeles de dicha imagen. 
 
Figura 13 Imagen original binarización 
 
Tomada de: [27] 
 
En la Figura 14, se denota la representación de los valores de intensidad de cada uno de los píxeles y en 
donde la línea azul horizontal, se denomina umbral o Thres, este valor fijo es el cual nos permite identificar 
los píxeles de interés. 
 
Las 5 operaciones que se pueden realizar con la librería opencv son: Umbral Binario, Umbral Binario 
Invertido, Truncar, Umbral a cero y Umbral de cero Invertido. Cabe resaltar, que para este trabajo de grado 
se decidió utilizar la operación de Umbral Binario, debido a que deja visualizar los valores de interés con 
respecto al umbral y los demás los manda a cero, distinguiendo así la forma o patrón a identificar, lo cual 
se adecua a este trabajo de grado, en comparación a los demás métodos. A continuación, se presenta la 
explicación del método a utilizar. 
 
Figura 14 Umbral Binario 
 
Tomada de: [27] 
 
 
( 2 ) 
 
Como se denota a través de la ecuación ( 2 ), si la intensidad del píxel de la imagen original CDE	(F, G),es 
superior al valor definido como umbral Thres, entonces el nuevo valor de intensidad de dicho píxel se 
establece en un nivel máximo definido por el programador MaxVal, de lo contrario, los píxeles se establecen 
con un valor de intensidad igual a 0. [27] 
 
4.4.2. Histograma 
 
El histograma de una imagen es una herramienta que se utiliza para representar los niveles de grises de una 
imagen [18]. Se utiliza para la transformación y análisis de una imagen, ya que representa los diferentes 
niveles de intensidad que tiene cada píxel. Sin embargo, un histograma no solamente puede llevar la 
15 
 
información de las intensidades de color, puede contener cualquier característica que se quiera medir de la 
imagen, como gradientes, direcciones, etc. [28] 
 
Figura 15 Valores de imagen en escala de grises 
 
Tomado de: [28] 
 
En la Figura 15, se puede observar cómo se puede representar los niveles de intensidad de una imagen, para 
después llevarlos al histograma: 
 
Figura 16. Histograma imagen opencv 
 
Tomado de: [28] 
 
En la Figura 16, se puede ver el resultado de realizar el cálculo del histograma para la imagen de la izquierda 
conocida como original o src. Y por medio de la imagen derecha se puede observar el histograma en las tres 
dimensiones de la imagen RGB, mostrando así el cómo está compuesta la imagen en los colores: rojo, azul 
y verde. Cabe resaltar que para este trabajo de grado nos basaremos en el histograma, con el fin de observar 
la intensidad de cada uno de los píxeles de la imagen monocromática adquirida. 
 
4.4.3. Ecualización del Histograma 
 
La ecualización del histograma es uno de los filtros manejados y proporcionados por parte de la librería 
Opencv, se aplica cuando se desea lograr una distribución más uniforme entre el número de píxeles referido 
a los diferentes niveles de intensidad presentes en la imagen, haciendo que el histograma se extienda en el 
16 
 
intervalo de niveles de grises. En la Figura 17, se presenta el resultado de este filtro siendo usado en una 
imagen particular. 
 
Figura 17 Filtro equalización 
 
Tomado de: [29] 
 
En donde, la imagen de la izquierda corresponde a la original o src y la imagen de la derecha corresponde 
a la imagen resultante de la ecualización del histograma. 
 
4.4.4. Corrección Gamma 
 
La corrección gamma, es una operación no lineal que es utilizada para decodificar o codificar los valores de 
luminancia de una imagen en sistemas de video o imagen. Dicha corrección está definida por la ley de 
potencias Vou6	 = 	K	 ∙ ;MN
O	donde A es una constante y los valores de voltaje de entrada y voltaje de salida 
son reales no negativos, tomando un K = 1 y ! < 1, se tiene la codificación de una imagen, en donde se 
aplica una comprensión no lineal de la ecuación descrita anteriormente, en términos coloquiales “Aumenta 
la luminancia de la imagen”. Ahora bien, tomando K = 1 y ! > 1, se conoce como la decodificación de la 
imagen, la cual es la aplicación de una expansión no lineal de la ley de la potencia, en términos coloquiales 
“Disminuye la luminancia de la imagen”. [30] 
 
Teniendo en cuenta que, si una imagen es bajo o sobre gamma corregida, esto también afecta el balance de 
color. En caso que se realice una corrección por encima de uno los colores tenderán hacia el gris neutro, 
mientras, que si se realiza una corrección por encima de unos los colores tenderán hacia las primarias de 
visualización. Por medio de las siguientes imágenes, se muestra un mapeo de que hace la corrección y se 
observa el resultado esperado según sea el valor de Y. 
 
Figura 18 Función de la corrección gamma 
 
Tomado de: [30] 
17 
 
 
Figura 19 Imagen original para filtro gamma 
 
Tomado de: [30] 
 
La Figura 19 es denominada como original o src, y tiene Y=1, en la Figura 20 se muestran las imágenes con 
! = 2 y ! = 0,5 para poder observar la diferencia entre ellas, cabe resaltar que lo que se espera en la primera 
imagen es una disminución de la luminancia y en la segunda un aumento. 
 
Figura 20 Corrección gamma con ! = 2 y ! = 0.5 
 
Tomado de: [30] 
 
4.4.5. Filtro Canny 
 
Este filtro es un operador desarrollado por John F. Canny en 1986, el cual busca detectar la mayor cantidad 
de bordes en una imagen. Este filtro es conocido como el “Detector Óptimo”. Este algoritmo busca satisfacer 
tres criterios principales [31]: 
 
• Baja tasa de error: Significado una buena detección de bordes únicos existentes. 
• Buena localización: La distancia entre los píxeles del borde detectado y los píxeles del borde real 
de tener que ser reducido al mínimo. 
• Respuesta mínima: Sólo una respuesta del detector por borde. 
 
Para cumplir los anteriores criterios, este filtro realiza una serie de pasos con el fin de obtener un resultado 
viable. A continuación, se mencionan los 4 pasos que este algoritmo aplica y el resultado esperado en el 
momento de ejecutar el algoritmo [31]. 
 
1) Se filtra cualquier ruido existente, para esto se usa el filtro de Gauss. 
2) Encontrar el gradiente de intensidad de la imagen, para esto se realizan los siguientes pasos: 
18 
 
 
a) Aplicar un par de máscaras de convolución tanto en x como en y direcciones: 
 
Figura 21 Máscaras de convolución 
 
Tomado de: [31] 
 
b) Encontrar la fuerza y la dirección del gradiente, haciendo uso de las siguientes fórmulas: 
 
Figura 22 ecuaciones gradiente y fuerza 
 
Tomado de: [31] 
 
Se aplica la supresión no-máxima, esto elimina los píxeles que no son considerados un borde, por ende, solo 
las líneas finas se quedarán en la imagen. 
 
3) Histéresis: Canny hace uso de dos umbrales para su realización (Superior e inferior), los criterios para 
mantener o iluminar los bordes son: 
a) Si un gradiente de píxel es mayor que el umbral superior, el píxel se acepta como borde. 
b) Si un valor de gradiente de píxel es menor que el umbral inferior, entonces, el píxel se rechaza. 
c) Si un valor de gradiente se encuentra en la mitad de los dos umbrales, es decir, si es menor que el 
umbral superior, pero es mayor que el umbral inferior, entonces, se aceptará como borde solo si está 
conectado a un píxel que su gradiente sea mayor al umbral superior. 
 
 Resultados esperados a la aplicación de dicho filtro a una imagen. 
 
Figura 23 Aplicación de filtro Canny 
 
Tomado de: [31] 
 
4.4.6. Filtro 2D 
 
El tipo de filtro 2D tiene dos formas, no lineal y lineal. En la no lineal para cada posición de pixel (x, y) de 
la imagen original consideran los pixeles que están vecinos a él, los pondera y utiliza para calcular la 
19 
 
respuesta. El filtro lineal realiza la suma ponderada de todos los valores de pixel y calcula el resultado. La 
respuesta calculada por medio de los dos métodos se almacena en la imagen de destino en el mismo lugar 
(x, y). Esto significa que la imagen de salida o la imagen de destino tendrá el mismo tamaño que la imagen 
de entrada u original. A su vez, la imagen de salida también tendrá el mismo número de canales como la de 
entrada. 
 
El filtro 2D tiene como objetivo convolucionar una imagen con un kernel definido, el kernel de convolución 
es una matriz de punto flotante de un solo canal. Si el usuario desea aplicar dicho kernel a diferentes canales 
debe dividir la imagen en distintos planos de color. Para esto, puede utilizar la función split () de la librería 
Opencv. 
 
4.4.7. Transformada de Fourier 
 
La transformada de Fourier realiza la descomposición de una imagen en sus respectivas componentes de 
senos y cosenos, su objetivo principal es poder convertir una imagen de su dominio espacial a su dominio 
en frecuencia, es por esto que la imagen se puede descomponer en una suma de senos y cosenos infinitos 
debido a todos los armónicos que una imagen conlleva [32]. Matemáticamente la transformada de Fourier 
para una imagen de dos dimensiones tiene una estructura como la que se muestra en la Figura 24. 
 
Figura 24 Formulación matemática transformada de Fourier 
 
Tomada de: [32] 
 
Donde la R esel valor de la imagen en su dominio espacial y S representa a la imagen en el dominio de la 
frecuencia. Como se puede observar en la ecuación, el resultante será un número complejo, sea denominado 
con sus valores cartesianos o con sus valores de magnitud A y Fase. En la Figura 25, se presenta uno de 
los resultados esperados, después de haber aplicado dicha transformada a una imagen de dos dimensiones. 
 
Figura 25 Transformada de Fourier imagen 
 
Tomado de: [33] 
 
Como se puede observar al lado izquierdo de la Figura 25, se tiene la imagen original en dos dimensiones o 
src y al lado derecho de la Figura 25, se obtuvo el resultado de la magnitud en frecuencia usando la 
transformada de Fourier. Además, se puede observar que los puntos más brillantes o influyentes en la 
imagen siguen la rotación geométrica de los objetos de la imagen. 
 
20 
 
Capítulo 5. Velocidad de captura 
 
5.1. Introducción 
 
En este capítulo, se realiza una descripción del desarrollo, resultados y conclusiones referentes al primer 
objetivo, el cual corresponde a determinar el número de imágenes por segundo necesarias para realizar un 
control ideal del proceso. En este capítulo no se tienen en cuenta restricciones físicas y de transferencia de 
datos ya que está enfocada demostrar al lector las necesidades en velocidad de lectura que debe tener el 
sistema diseñado para implementar esta función en otro tipo de entorno. Así mismo, se mostrarán los 
diferentes cálculos necesarios para encontrar el valor de dicha velocidad de captura necesaria en un nivel 
teórico Posteriormente se analizarán las restricciones de los equipos utilizados que afectan la velocidad de 
muestreo. 
 
5.2. Descripción de los elementos de mecanizado 
 
Dentro de los equipos utilizados para realizar este tipo de mecanizado se encuentran. 
 
Material: Lámina de aluminio de 14cm x 6cm x 1.5cm. 
 
Equipo: centro de mecanizado EMCO MILL 450. 
 
Velocidad de Husillo: 2000 rpm. 
 
Velocidades de avance: el equipo utilizar permite una variación manual de una velocidad de avance fija 
de 10 m/min, esta variación es representada en porcentaje. Para este caso se utilizarán velocidades entre 0.2 
m/min y 12 m/min que permiten utilizar todo el rango de velocidades del equipo, para mayor detalle 
consultar la Tabla 2. 
 
Tabla 2 Velocidades de avance según control manual 
Control Manual (Porcentaje de la velocidad 
de avance) 
Velocidad de avance 
[m/min] 
Velocidad de avance 
[mm/corte] 
2% 0.2 0.075 
20% 2 0.75 
40% 4 1.5 
60% 6 2.25 
80% 8 3 
100% 10 3.75 
120% 12 4.5 
 
La variación de volcidad se realiza por medio de un 
Herramienta: Escariador HSS CO (aleación de cobalto al 8%). 
Cortes de herramienta: 2 cortes. 
Diámetro de herramienta: 16 mm. 
21 
 
 
5.3. Cálculos del número de imágenes 
 
Para el cálculo de la velocidad de captura, que debería tener la cámara, para hacer una lectura en línea del 
mecanizado, se debe tener en cuenta la velocidad de giro del husillo y los cortes de la herramienta. Estas 
determinan cada cuanto tiempo se realizará un corte sobre el material. Para un entorno de mecanizado con 
las características descritas anteriormente, el número de veces que la herramienta realiza un corte en un 
periodo de tiempo y área de la pieza. tiene mucha relación con la rugosidad que se obtendrá. Esto sucede 
debido a que las marcas pueden quedar más separadas unas de otras. En caso de quedar muy juntas es posible 
que el sistema sea incapaz de reconocer el patrón, por otro lado, si quedan muy separadas se debe analizar 
una mayor área de trabajo, por lo que habría un mayor desperdicio de material para el momento en que el 
sistema sea consciente del cambio. 
 
Con una velocidad de husillo de 2000 rpm y una herramienta de 2 cortes, se encuentra que el número de 
cortes que puede hacer en 1 segundo es de 66.67. Lo que implica que para realizar un corte nuevo tarda 15 
ms. A continuación, se muestran los cálculos para llegar a dichos números. 
 
2000	4T)	×	
1	)+,
60	V
	= 33.33	
X+43V
V
 ( 3 ) 
33.33	
X+43V
V
	×	2	
Y346ZV
X+43
= 66.66	
Y346ZV
V
 ( 4 ) 
1
66.66
V
Y346Z
= 15	
)V
Y346Z
 ( 5 ) 
 
Sin embargo, se debe evaluar la distancia que recorre la máquina a diferentes velocidades de avance. A 
continuación, se muestra un ejemplo de esta distancia, para esto debemos referimos a la Tabla 2, en donde 
identificamos la velocidad de avance en mm/corte. A continuación, se muestra la fórmula para el cálculo de 
la distancia recorrida y un ejemplo del mismo con una velocidad al 60% con 2 cortes. 
 
15
)V
Y346Z
	×	#	Y346ZV	×	;Z8. 7\7,YZ	
)
)+,
	×	
1	)+,
60000	)V
	×	
1000	))
1	)
= 	]+V67,Y+7 ( 6 ) 
15
)V
Y346Z
	×	2	×	6	
)
)+,
	×	
1	)+,
60000	)V
	×	
1000	))
1	)
= 	3	)) ( 7 ) 
 
En la Tabla 3, se muestra la distancia recorrida para 1, 2 o 3 cortes. 
 
Tabla 3 Distancia recorrida por número de cortes 
 2% 20% 40% 60% 80% 100% 120% 
Distancia en mm por corte 0.075 0.75 1.5 2.25 3 3.75 4.5 
Distancia en mm por 2 cortes 0.15 1.5 3 4.5 6 7.5 9 
Distancia en mm por 3 cortes 0.225 2.25 4.5 6.75 9 11.25 13.5 
 
Se espera que con la captura de una imagen se encuentre una escena distinta para poder procesar la imagen. 
Y obtener resultados distintos. Sin embargo, no se debe tomar una muestra de una región muy grande ya 
22 
 
que se puede perder mucho material. Por esta razón se decide que el sistema de captura debe ser capaz de 
capturar la imagen y procesar al menos en el tiempo en que se demora en realizar 2 cortes. 
 
 
5.4. Conclusiones del capítulo 
 
A partir de los análisis realizados en área a analizar y velocidad de las marcas, se identifica que el sistema 
de captura y procesamiento de imágenes no debe superar los 30 ms (33.33 Hz), este corresponde a 2 cortes 
realizados por una herramienta HSS Co8 de 16 mm de diámetro y 2 dientes a una velocidad de husillo de 
2000 rpm y un rango de velocidades de avance entre 0,2 y 12 m/min. 
 
Capítulo 6. Sistema de captura por computador 
 
6.1. Introducción 
 
En este capítulo, se analizará cómo se llevó a cabo la captura de imágenes haciendo uso de la cámara Genie 
Cam HM640 con comunicación vía ethernet hacia un computador. Teniendo en cuenta los diferentes 
problemas en el momento de capturar una imagen, tales como: iluminación, enfoque, ubicación y demás 
factores que inciden en el momento de adquirir una imagen. Así mismo en este capítulo se podrá ver la 
forma de integrar dicha cámara con la librería de tratamiento imágenes Opencv. A través de este capítulo se 
mostrará el desarrollo y cumplimiento del objetivo específico número 2 en donde se deja evidenciado la 
captura de imágenes correcta para el posterior procesamiento. 
 
6.2. Diagrama de bloques general del sistema 
 
En la Figura 26, se presenta el diagrama de bloques de la solución realizada por medio de este trabajo de 
grado. 
 
Figura 26 diagrama de bloques del sistema 
 
Edición utilizando imagen de: [14] 
 
23 
 
Como se puede observar en la anterior figura, lo primero que se realiza es el mecanizado de la pieza a 
analizar, utilizando la máquina EMCO MILL 450 haciendo uso de instrucciones del código G, con el fin de 
generar en la pieza diferentes valores de rugosidad y esto se logra variando la velocidad de avance. Lo 
segundo a realizar, es la captura de imágenes, después de haber realizado el mecanizado, se procede a 
realizar el montaje de la cámara y la adecuación detallada del entorno. Lo tercero, es la adquisición de la 
imagen que va relacionado con la captura de la imagen, lo que se realiza es un barrido de la pieza haciendo 
uso de la EMCO MILL 450 y se almacenan dichas imágenes en un computador para su posterior tratamiento. 
Por último, se realiza el procesamiento de imágenes con el fin de identificar a qué velocidad de avance 
pertenece la imagen para así mismo poder asignarle un valor de rugosidad, calculado con la herramienta de 
medición conocida como “rugosímetro”. 
 
A continuación, se presentan las diferentes características que se utilizaron para poderobtener el anterior 
diagrama de bloques, así mismo se presentan las especificaciones con las que se realizó. 
 
6.3. Elección del lente 
 
Para la elección del lente se tuvieron en cuenta 2 tipos de lente disponibles. El lente Fujinon HF16HA-1B 
y el lente Kowa LM3NCM. En la Tabla 4 se comparan las características de ambos lentes. 
 
Tabla 4 Comparación de referencias de lente 
 Fujinon HF16HA-1B Kowa LM3NCM 
Montura C C 
Distancia Focal 16 3,5 
Enfoque Manual Manual 
Rango de Diafragma F1.4 a F16 F2.4 a F8 
Diafragma Manual Manual 
Tamaño de sensor ⅓’ ⅓’ 
Tomada de:[34] y [35] 
 
A cada una de las lentes se le identificó la distancia a la cual debe estar la cámara utilizando la ecuación 
( 1 ). La distancia focal y el tamaño del sensor son características de la cámara por lo que serán estas las que 
determinen si es posible utilizar este lente. Por otro lado, se desea observar una distancia de 35 mm de 
longitud de la pieza. Los cálculos realizados para ambas cámaras se muestran a continuación. 
 
. =
ℎ×12
ℎ34+53,678	9:;
 ( 8 ) 
 
Para la cámara Kowa LM3NCM 
12 =
.×<34+53,678	9:;
ℎ
 ( 9 ) 
12 =
3,535))
8.46))
 ( 10 ) 
24 
 
12 = 14.47)) ( 11 ) 
 
Para la cámara Fujinon HF16HA-1B 
12 =
.×<34+53,678	9:;
ℎ
 ( 12 ) 
12 =
1635))
8.46))
 ( 13 ) 
12 = 66)) ( 14 ) 
En caso de utilizar el lente Kowa LM3NCM, la cámara tendría que estar ubicada aproximadamente a solo 
1,45 cm de la pieza, distancia la cual no se permite manipular la pieza, la iluminación estaría restringida y 
no se podría realizar el mecanizado por la longitud de la pieza. Para la otra cámara, Fujinon HF16HA-1B, 
el lente proporciona una distancia mínima de trabajo de 6,6 cm, la cual permite realizar las debidas 
modificaciones en la máquina. Debido a la distancia de trabajo que proporciona el lente, se realizó la 
adquisición de imágenes a partir de la cámara Genie HM640 integrada al lente Fujinon HF16HA-1B. 
 
6.4. Restricciones de velocidad de transferencia 
 
Para realizar la comunicación con la cámara, se utilizó el puerto ethernet del computador. Este posee ciertas 
limitaciones en velocidad de transferencia según el computador y las características de la cámara, por lo que 
es necesario evaluar si el computador posee las características necesarias para realizar esta transferencia de 
información. 
 
Tabla 5 Velocidades de transferencia 
Características de la cámara Genie HM640 
Velocidad de Datos Total 92 MB/s 
Máxima velocidad de captura 300 fps 
Características del computador Dell Latitude E5450 
Velocidad de Datos Total Ethernet 1000 MB/s 
Máxima velocidad de captura 3260 fps 
 
A partir de estos datos se puede concluir que la limitación de transferencia de imágenes está dada por la 
cámara, sin embargo, esto no es relevante ya que ambos, tanto el computador como la cámara cumplen con 
las restricciones de tiempo de procesamiento de 1 imagen. 
 
6.5. Acceso a la cámara 
 
6.5.1. Conexión 
 
La conexión de la cámara al computador requiere de 3 elementos, un cable ethernet, un cable MISC-FULL-
AV-OP-5M y un adaptador de 12V. El cable ethernet es la conexión física al computador para realizar la 
transferencia de datos, el cable MISC y el adaptador son utilizados para alimentar la cámara. El cable MISC 
25 
 
consiste de un adaptador de 12 pines que va conectado a la cámara, del otro extremo se encuentran los cables 
correspondientes a cada pin de conexión, para alimentar la cámara se creó un conector para convertir la 
salida del cable MISC a un Jack de conexión del adaptador. El conector se puede observar en la Figura 27. 
 
Figura 27 Conector cable MISC-FULL-AV-OP-5M 
 
 
6.5.2. Instalación de librerías y configuración 
 
Teniendo en cuenta que el sistema operativo a utilizar en este trabajo de grado es LINUX – Ubuntu, se 
instalaron los paquetes necesarios para poder tener comunicación y poder visualizar una imagen. Para esto, 
nos basamos en el manual “GigE-V Framework for Linux 32/64-Bit Programmer's Manual”, en donde se 
indica la forma correcta de instalar el SDK y las librerías adicionales necesarias. Al finalizar todo el proceso 
de instalación, se procedió a configurar el puerto ethernet de la cámara para esto se realizó los siguientes 
pasos: 
 
1. Ir a configuración de red y elegir la opción de editar conexiones. Figura 28 (a) 
2. Elegir la opción GigE y oprimir editar. Figura 28 (b). 
3. Ir a Configuración de IPv4 y en la opción de método escoger “Solamente local”. Figura 28 (c) 
4. Guardar configuración. 
 
Figura 28 Configuración puerto ethernet 
 
Tomado de: [14] 
 
A partir de los anteriores pasos, se procedió a utilizar los ejemplos y las herramientas brindados por GigE 
Cam, particularmente para este trabajo de grado se utilizaron dos elementos. “GigeDeviceStatus” 
26 
 
proporciona información sobre la cámara conectada en ese momento, tales 
como: Manufactura, Modelo, Número serial, la Dirección MAC, estado, la dirección Ip de la cámara, la 
dirección NIC IP, MAXPktSIze, F/W ver y el nombre del usuario. Esto permitía identificar cuando la cámara 
se encontraba conectada correctamente. En la Figura 29, se muestra la ejecución de la herramienta para la 
cámara Genie Cam HM 640. 
 
Figura 29 información de GigeDeviceStatus 
 
 
El otro elemento utilizado como base para desarrollar el código de captura fue el ejemplo 
“genicam_cpp_demo”, cuya funcionalidad es iniciar la adquisición de la imagen para ser visualizada en una 
ventana. Al ejecutar el código, se despliega un menú de inicio que permite seleccionar la opción de captura. 
Este inicio del programa se observa en la Figura 30. 
 
Figura 30 Menú de inicio código de ejemplo 
 
 
 
Por medio del ejemplo, se identificó la forma en que el SDK accede a la cámara. Sin embargo, este código 
ejemplo no almacena la imagen, por lo que no es posible realizar ningún tipo de procesamiento con esta 
visualización de imagen. 
 
6.6. Captura de imagen 
 
Teniendo en cuenta el ejemplo usado previamente en la cámara, es necesario guardar la imagen 
visualizada por la cámara y que sea compatible a la librería Opencv (formato Mat). Para poder 
capturar la imagen en formato Mat, se procedió a realizar un análisis detallado del código ejemplo 
“genicam_cpp_demo”, teniendo en cuenta todas las librerías de las que hacía uso. Por lo tanto, lo 
que se buscaba con dicho análisis era poder identificar ¿dónde? y ¿cómo?, dicho código tiene 
acceso a la cámara y por ende a la imagen, para poder transformarla en un formato compatible con 
la librería Opencv. 
 
En el momento de encontrar la librería del código de ejemplo, en donde la cámara tenía acceso a 
la imagen, se pudo observar y concluir que dicho SDK no tenía comunicación con Opencv. Es por 
esto, que por medio de este trabajo de grado se generó un código que hacía uso del ejemplo 
brindado por la empresa Genicam, con el fin de realizar la conversión de la imagen visualizada por 
la cámara a un formato compatible con la librería Opencv (Mat). 
 
27 
 
 
Figura 31 Diagrama de flujo de captura de imagen 
 
 
 
28 
 
El código realizado por parte de los autores de este trabajo de grado tiene como nombre 
“CopyDataToOpencv”, que tiene como objetivo copiar los píxeles de la imagen visualizada por la 
cámara en una ventana de igual tamaño de tipo Mat y poder guardarla en dicho formato. En la 
Figura 31, se presenta el diagrama de flujo en donde se explica paso a paso lo realizado para 
implementar dicho código. 
 
A partir del diagrama anterior, se presentan los resultados obtenidos haciendo la utilización del 
código “CopyDataToOpencv”: 
 
Figura 32 Resultado de ejecutar "CopyDataToOpencv" 
 
 
(a) (b) 
6.7. Calibración de la cámara 
Partiendo de la imagen en un formato compatible con la librería Opencv, es necesario empezar a realizar un 
procesamiento de imagen, con el de fin de tener una imagen de captura con una buena calidad, es por esto 
que se realiza la calibración de la cámara para evitar problemas con los diferentes tipos de distorsión. Esteproceso se lleva a cabo con un tablero de ajedrez, el cual se ubica en diferentes posiciones con el fin de 
determinar los posibles errores de distorsión que presenta la cámara. 
 
Teniendo en cuenta que la finalidad de este trabajo de grado es medir la rugosidad del material y para poder 
realizarlo se maneja una distancia de trabajo de la cámara de 66	)). Por este motivo, no es posible usar un 
tablero de ajedrez convencional de tamaño A4, si no por el contrario, se utiliza un tablero de ajedrez que se 
pueda ver completo con la distancia trabajo de la cámara. A continuación, se presenta el tablero de ajedrez 
a utilizar para la calibración de la cámara. 
 
Figura 33. Patrón de ajedrez para calibración 
 
 
29 
 
Considerando el tablero de ajedrez anterior, se procede a realizar la calibración de la cámara y para esto se 
utilizó el “camera calibration toolbox” de Matlab, en el cual se realizan los siguientes pasos para la 
calibración: se ingresan las fotos del tablero de ajedrez en diferentes posiciones, se extraen los bordes de las 
imágenes, se resaltan las esquinas de cada uno de los cuadrados involucrados en el tablero y por último se 
realiza la calibración. El software arroja la información de los siguientes parámetros: la distancia focal, el 
punto principal, el sesgo, la distorsión y el error por pixeles. Estos parámetros se usan para generar la matriz 
de la cámara. 
 
A continuación, se presentan los resultados del software de calibración, en la Figura 34 se observa el 
resultado de ingresar las imágenes al software, mientras que en la Figura 35 se observa un ejemplo de la 
identificación de bordes. 
 
Figura 34 Imágenes introducidas al sistema para la calibración de la cámara 
 
 
Figura 35 Selección de esquinas para calibración 
 
 
Resultados del software: 
 
Figura 36 Resultados de calibración 
 
 
30 
 
Por último, se deja evidenciado la matriz de la cámara obtenida, a partir de esta, se realizó la corrección en 
términos de distorsión y punto central de la cámara. 
 
`` =
2204 0 325.89
0 2205 203.19
0 0 1
 ( 15 ) 
 
6.8. Mecanizado de la pieza a utilizar 
 
A lo largo de este capítulo, se ha dejado la evidencia de cómo está conformado el sistema de captura de este 
trabajo de grado y como se ha hecho el proceso de calibración de la misma. Ahora es necesario especificar 
de qué pieza se van a tomar las diferentes fotos para medir la rugosidad y para esto es necesario realizar un 
mecanizado en la máquina EMCO MILL 450 proporcionada por el Centro Tecnológico de Automatización 
Industrial (CTAI) de la Pontificia Universidad Javeriana. 
 
Para este mecanizado, es importante que la pieza quede con diferentes valores de velocidad de avance con 
el fin de generar diferentes valores de rugosidad. Además, es necesario utilizar las instrucciones del código 
G para poder realizar el mecanizado de la pieza y seleccionar la herramienta a utilizar. Adicionalmente, se 
utilizó un soporte a la cámara, con el fin de acoplarse a la máquina y poder tomar imágenes en un punto 
fijo, sin vibración y que no varíe la distancia de trabajo. 
 
Cabe resaltar que las velocidades de avance en esta pieza son: 2%, 20%, 40%, 60%, 80%, 100% y 120%. 
En la Figura 37, se muestran los resultados obtenidos frente a la máquina y la pieza mecanizada. 
 
Figura 37 Pieza mecanizada a diferentes velocidades 
 
 
6.9. Parámetros de iluminación 
 
Partiendo del montaje utilizado para poder mecanizar la pieza, se visualizó la imagen, teniendo en cuenta el 
enfoque y las medidas necesarias para una buena captura. Sin embargo, al tomar las fotos de la pieza 
mecanizada, se observó que no se contaba con una buena iluminación, por esto no se tenía una buena 
adquisición de la imagen debido a que no se podía ver, ni distinguir, la pieza mecanizada. Para solucionar 
dicho problema se decidió agregar una cinta led, con el fin de proporcionar una iluminación adecuada para 
hacer posible la adquisición. 
 
Se hicieron varias pruebas para decidir la posición adecuada de la cinta led, a continuación, se presenta el 
montaje realizado con la cámara y con la posición final y definitiva de la cinta led. Adicionalmente, se 
presenta los cambios a nivel de la captura de la imagen. 
31 
 
 
Figura 38 Iluminación en el equipo 
 
Figura 39 Imagen sin y con iluminación 
 
(a) (b) 
 
6.10. Verificación del tiempo de procesamiento 
 
Para la verificación del tiempo de procesamiento, se incluyó en el código una instrucción que guarda el 
tiempo en el momento en que se inicia la captura continua de imágenes y el de finalización, esto con el 
objetivo de identificar el tiempo de procesamiento. En la Tabla 6, se muestran los resultados del código. 
 
Tabla 6 Resultados tiempo de captura 
Tiempo de Procesamiento 9.040 s 
Número de imágenes capturadas 2026	+)áXZ,ZV 
Tiempo de captura 4.46	)V 
 
Cabe resaltar, que dichos tiempos se refieren al momento en que se realiza el barrido de la pieza con el fin 
de adquirir y guardar las imágenes del mecanizado realizado, por ende, el tiempo de captura por imagen es 
el que se especifica como 4.46 ms. 
 
6.11. Conclusiones del capítulo 
 
Para un sistema de adquisición de imágenes, es necesario tener en cuenta el entorno donde se opera, debido 
a que este factor es de vital importancia para una buena adquisición, como se pudo observar por medio de 
este trabajo de grado, la iluminación es un papel fundamental a la hora de poder adquirir la imagen. 
32 
 
 
Capítulo 7. Diseño del algoritmo de procesamiento de imágenes 
 
7.1. Introducción 
 
En este capítulo, se diseña y se desarrolla el algoritmo de procesamiento de imágenes, haciendo uso del 
lenguaje C y de las herramientas brindadas por la librería Opencv, para el tratamiento de las mismas y hacer 
posible el monitoreo de la rugosidad a partir de la visión por computador. Adicionalmente, se hará 
utilización de la herramienta conocida como rugosímetro con el fin de comprobar y ajustar el algoritmo para 
obtener un dato confiable como resultado. El algoritmo desarrollado se presentará por medio de un diagrama 
de flujo de procesos con el fin de que el lector tenga un mayor entendimiento del proceso realizado. En este 
capítulo se dejará evidenciado el cumplimiento del tercer objetivo, mostrando a su vez los resultados 
obtenidos. 
 
7.2. Filtros Realizados 
 
El algoritmo utilizado para el procesamiento de imágenes se realizó a partir de imágenes almacenadas en el 
computador capturadas y calibradas anteriormente, con el fin de evitar problemas de distorsión y ruido. A 
estas, se les aplicó diferentes filtros para encontrar o resaltar las diferencias entre los diferentes mecanizados. 
A continuación, se muestran las imágenes originales utilizadas para el procesamiento con el recuadro de 
donde se realizó el recorte de la imagen, este debía estar en el centro de mecanizado para identificar el punto 
medio del paso de la herramienta y reducir al máximo el cambio de la iluminación al mover la pieza de 
posición. 
 
Figura 40 Recorte de imagen original 
 
 
33 
 
A partir de estos recortes se realizaron pruebas con la imagen original y realizando filtros como la corrección 
gamma, filtro canny, ecualización y filtro2D. Para el filtro gama se realizó una corrección con parámetros 
A=1 y Y=0.5. El filtro canny permitió identificar los bordes de la imagen para esto se utilizó valor de 
threshold mínimo de 20 y un máximo de 60 siguiendo la recomendación de canny y un tamaño de kernel de 
3 [31]. Se utilizó un filtro de ecualización para resaltar los detalles de la imagen. Finalmente se aplicó un 
filtro2D utilizando como kernel la matriz que me muestra a continuación. 
 
Figura 41 Kernel para filtro 2D 
0 1 0 
1 1 1 
0 1 0 
 
Una vez se aplicó el filtro a cada sección, se binariza para obtener una imagen en donde se detecten de las 
líneas del mecanizado. En la Figura 42 se observan los resultados de los filtros para cada velocidad de 
avance y su binarización. Esta comparación de imágenes se realiza para