Está en la página 1de 8

Practica # 2: Contador de objetos y

monedas por visión.

Materia: Sistemas de visión artificial

Alumnos:

Antonio Manuel Gudiño Alcaraz

Joshua Raymundo Echevarría Siordia

Alejandro González Salcedo

Miguel Alberto Amador Monarrez

Turno: matutino

Docente: Rolando Lizárraga Banuelos

Ing. mecatrónica

Grupo:8-2

Fecha:24/2/2023
Marco teórico

OpenCV es una biblioteca libre de visión artificial originalmente desarrollada


por Intel. OpenCV significa Open Computer Vision (Visión Artificial Abierta).
Desde que apareció su primera versión alfa en el mes de enero de 1999, se ha
utilizado en una gran cantidad de aplicaciones, y hasta 2020 se la sigue
mencionando como la biblioteca más popular de visión artificial.1 Detección de
movimiento, reconocimiento de objetos, reconstrucción 3D a partir de imágenes,
son sólo algunos ejemplos de aplicaciones de OpenCV.

Su popularidad se debe a que es:

• libre, publicada bajo licencia BSD, que permite que sea usada libremente
para propósitos comerciales y de investigación

• multiplataforma, para los sistemas operativos GNU/Linux, Mac OS


X, Windows y Android, y para diversas arquitecturas de hardware
como x86, x64 (PC), ARM (celulares y Raspberry Pi)

• documentada y explicada: la organización tiene una preocupación activa


de mantener la documentación de referencia para desarrolladores lo más
completa y actualizada posible, ejemplos de uso de sus funciones y
tutoriales accesibles al público no iniciado en visión artificial, además de
difundir y fomentar libros y sitios de formación.

El proyecto pretende proporcionar un entorno de desarrollo fácil de utilizar y


altamente eficiente. Esto se ha logrado realizando su programación en
código C y C++ optimizados, aprovechando además las capacidades que
proveen los procesadores multinúcleo. OpenCV puede además utilizar el
sistema de primitivas de rendimiento integradas de Intel, un conjunto de rutinas
de bajo nivel específicas para procesadores Intel
Aplicaciones

Las áreas de aplicación de OpenCV incluyen:

• Características 2D y 3D

• Estimación de pose de cámara

• Reconocimiento facial

• Reconocimiento de gestos

• Interacción persona-computadora

• Robótica móvil

• Comprensión de movimientos

• Reconocimiento de objetos

• Segmentación

• Estereoscopía

• Structure from motion (SFM)

• Tracking

• Realidad aumentada

Python es un lenguaje de programación ampliamente utilizado en las


aplicaciones web, el desarrollo de software, la ciencia de datos y el
machine learning (ML). Los desarrolladores utilizan Python porque es eficiente
y fácil de aprender, además de que se puede ejecutar en muchas plataformas
diferentes.

Numpy es una librería en la que se define un tipo de dato que representa


matrices multidimensionales, equivalentes a las matrices del R. Además,
incluye algunas funcionalidades básicas para trabajar con ellas. Numpy es una
librería con una amplia tradición en Python, es estable y muy rápida.
Contadores de monedas por visión artificial

Reprocesamiento de la Imagen

Una etapa importante de la visión artificial es la reprocesamiento de imágenes,


es decir, la transformación de la imagen original en otra imagen en la cual hayan
sido eliminados los problemas de ruido, cuantización o de iluminación
espacialmente variable. La utilización de estas técnicas permite el mejoramiento
de las imágenes digitales adquiridas de acuerdo a los objetivos planteados en el
sistema de visión artificial.

Conversión a Escala de Grises

En esta parte se trata la conversión de una imagen en color a escala de grises,


el equivalente a la luminancia de la imagen. Como sabemos el ojo percibe
distintas intensidades de luz en función del color que se observe, esto es debido
a la respuesta del ojo al espectro, por esa razón el cálculo de la escala de grises
o luminancia de la imagen debe realizarse como una media ponderada de las
distintas componentes de color de cada pixel [4] Ver figura 2. La fórmula para
convertir una imagen RGB a escala a grises:

Operaciones Morfológicas en imágenes binarias

La morfología matemática es una herramienta muy utilizada en el procesamiento


de imágenes. Las operaciones morfológicas pueden simplificar los datos de una
imagen, preservar las características esenciales y eliminar aspectos irrelevantes.
Teniendo en cuenta que la identificación y descomposición de objetos, la
extracción de rasgos, la localización de defectos e incluso los defectos en líneas
de ensamblaje están sumamente relacionados con las formas, es obvio el papel
de la morfología matemática.

Metodología

Existe tres tipos de dispositivos para tratar el dinero: Detector de billetes falsos,
Contador de Billetes y Contador de Monedas. Este trabajo determina el valor de
las monedas, tomado la imagen con una cámara web de baja resolución (2M
pixeles) para demostrar que hasta una cámara de con baja resolución puede,
Figura 3, y el tratamiento de la imagen en Matlab, con la comparación de un
sistema experto para determinar cuál es el valor de la moneda. El desarrollo de
este sistema se basa en tomar muestras de las monedas de 1, 5 y 10 pesos. La
figura 1 nos muestra la forma y el tamaño de estas monedas seleccionadas para
muestras.

Determinación de Valor de las Monedas

Escala de Grises

Para determinar el umbral de detección de la moneda se trabajó se mandó la


imagen a escala de grises
Escala Monocromática

Para hacer más sencilla el tratamiento de imágenes la imagen se mandó a


escala monocromática, utilizando como base la separación de la imagen en
RGB (1) y determinando el punto crítico para separar la moneda del fondo de la
imagen

El valor definido mediante este procedimiento está determinado por la ecuación


1, en caso particular de este trabajo es de 180, como se muestra en Figura 4
empieza la detección de Objetos, en la escala de grises 0 a 255. La figura 5
nos muestra la imagen Monocromática resultante de la aplicación mediante
esta técnica de visión.

Código donde se ejecuta la proporción de la moneda de 10

Código donde se ejecuta la proporción de la moneda de 5

Código donde se ejecuta la proporción de la moneda de 2

Código de la practica
conclusión

El conocimiento y dominio del uso de la cámara web con Python es de gran


importancia en la carrera de mecatrónica. Esta disciplina combina diferentes
áreas como la mecánica, la electrónica, la informática y el control automático,
para el diseño y desarrollo de sistemas mecatrónicos, robots y maquinarias
automatizadas.

En este sentido, la utilización de cámaras web y sistemas de visión artificial es


fundamental para la detección de objetos, seguimiento de trayectorias y control
de posición de los sistemas mecatrónicos. La programación de estos sistemas
para el análisis de imágenes y la toma de decisiones, requiere de conocimientos
avanzados en el uso de bibliotecas y herramientas de procesamiento de
imágenes y vídeo en Python.

Por otro lado, el uso de la cámara web con Python es también importante en el
diseño y desarrollo de sistemas de control automático de robots, vehículos y
maquinarias, para el monitoreo y seguimiento de procesos en tiempo real. De
esta forma, el conocimiento y habilidades en la programación de la cámara web
con Python puede ser un diferencial importante para los profesionales de
mecatrónica, permitiéndoles diseñar y desarrollar sistemas más eficientes y
avanzados.

También podría gustarte