Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen- Se diseña un código para la prueba exactitud diversos parámetros del tamaño y la
del procesamiento de señales con filtrado y forma tales como el largo, el ancho, la
detección de colores en una imagen. Se supone redondez y la angulosidad, por lo que la
que los filtros aplicados y las determinaciones de cantidad de información obtenida es mucho
cada color permitirán filtrar dicho color . El
mayor que con métodos alternativos.
programa en el que se realiza todo el proceso es
Colab. CANTIDAD DE MUESTRA
I. MARCO TEORICO Para obtener resultados analíticos de valor
El análisis dinámico de imágenes informativo debe emplearse una cantidad de
(procesamiento digital de imágenes) es uno muestra significante y representativa. Esta
de los métodos más exactos cuando se trata variará en función del tamaño de las
de determinar el tamaño y la forma de las partículas y de la amplitud de la distribución
partículas. granulométrica: mientras más grueso sea el
Este método viene utilizándose cada vez más material y más amplio el rango, más cantidad
al lado del tamizado y de la difracción láser de muestra se requiere para el análisis [1].
superándolos enormemente en rendimiento PARÁMETROS DE TAMAÑO Y
por su precisión, su reproducibilidad y la FORMA EN EL ADI
cantidad de información que proporciona en
el rango granulométrico de 0,8 µm a 30 mm Las técnicas de análisis de la imagen ofrecen
[1]. la gran ventaja al emplear diferentes
definiciones para el tamaño, lo cual permite
Sin embargo, para llegar desde la imagen medir directamente el largo y la forma de las
original al conjunto de parámetros e partículas. Existe una variedad de parámetros
información extraída de la misma, es de tamaño que pueden considerarse de interés
necesario pasar por distintas etapas de dependiendo del tipo de aplicación. Si se
procesamiento y filtrado donde se analiza la analizan partículas “alargadas”, como por
imagen y se adecua para cierta aplicación ejemplo fibras de celulosa, barritas de
específica. Esto implica que el resultado del catalizadores, extruidos de plástico o granos
procesamiento depende fuertemente del de arroz, el parámetro más importante será su
problema que se esté abordando [2]. longitud [1].
ANÁLISIS DE ALTA RESOLUCIÓN
DEL TAMAÑO Y LA FORMA
Las técnicas de análisis de imagen ofrecen
una serie de ventajas frente a los métodos de
medición tradicionales como el tamizado
analítico o la difracción láser. Aquí la
medición se realiza directamente en la
imagen de alta resolución obtenida de cada
partícula, que permite determinar con gran
Fig. 1: Definición de diferentes parámetros paneles = cv2.bitwise_and(zoomed
para determinar el tamaño en el ADI _and_cropped,zoomed_and_cropped,
II. DESARROLLO mask=mask)
paneles = cv2.medianBlur(paneles
Se crea un código en Colab para el filtrado de la , 3)
imagen de los paneles, donde primero se carga la
imagen a la que se le hará el filtrado (los paneles)
cv2_imshow(paneles)
luego se le aplica un zoom y se cropea la imagen
para observar claramente los paneles,
segmentamos la imagen para solo ver los paneles, # Pasando a escala de grises
de ahí los pasamos a una escala de grises, gray1 = cv2.cvtColor(paneles, cv
detectamos sus bordes y por últimos contamos la 2.COLOR_BGR2GRAY)
cantidad de paneles que se encontraban en la
imagen. cv2_imshow(gray1)
import cv2
import numpy as np # Detección de bordes
import matplotlib.pyplot as plt t, dst = cv2.threshold(gray1, 0,
from matplotlib import image 255, cv2.THRESH_BINARY | cv2.THR
from matplotlib import pyplot ESH_TRIANGLE)
from google.colab.patches import
cv2_imshow edges = cv2.Canny(dst,threshold1
# Se carga la imagen =30, threshold2=200)
img = cv2.imread('paneles.png') cv2_imshow(edges)
cv2_imshow(img)
# Buscamos los contornos
# Haciendo zoom y cropeando la (contornos,_) = cv2.findContours
imagen (edges.copy(), cv2.RETR_EXTERNAL
cropped = img[150:384, 400:627] , cv2.CHAIN_APPROX_SIMPLE)
zoomed = zoom(img, 3)
zoomed_and_cropped = zoom(croppe # Mostramos el número de paneles
d, 3) print("Hay {} paneles en la imag
en".format(len(contornos)))
cv2_imshow(zoomed_and_cropped)
# Mostramos la imagen y sus coto
# Pasando de BGR A HSV rnos
hsv = cv2.cvtColor(zoomed_and_cr cv2.drawContours(zoomed_and_crop
opped, cv2.COLOR_BGR2HSV) ped,contornos,-1,(0,0,255), 2)
#cv2_imshow(hsv) cv2_imshow(zoomed_and_cropped)
# Segmentación de los paneles
lowerr = np.array([100,90,80], n III. RESULTADOS
p.uint8)
A continuación, se muestran los resultados que se
upperr = np.array([120,200,145],
obtuvieron del filtrado, selección de colores y el
np.uint8) conteo de los paneles que se le indico en el
mask = cv2.inRange(hsv,lowerr,up código.
perr)
Figura 1. Imagen inicial.
[2] N. A. DOBERNACK,
«IMPLEMENTACIÓN DE UN SISTEMA
DE UN SISTEMA DE DETECIÓN DE
SEÑALES DE TRÁFICO MEDIANTE
VISIÓN ARTIFICIAL BASADA EN
FPGA,» UNIVERSIDAD DE SEVILLA,
SEVILLA, 2013.