Está en la página 1de 15

FACULTAD DE INGENIERIA

ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS

INFORME ACADEMICO

“Titulo”

“Algoritmo Canny en la manipulación de las características de un objeto en el procesamiento


de imágenes”

Autor(es):

Azpilcueta Mendoza, Carlos


Marcatinco Pariona, Jean Pierre
Naupan Falcon Jose Alonso
Baltodano Quispe Carlos Javier
Holssen Jeffershon Maza Barrena
Gonzales Guillermo Julio Cesar

Asesor:

Jorge Isaac Necochea Chamorro

LIMA – PERÚ

2021
ÍNDICE

I. Introducción 3
II. Marco teórico 4
III. Desarrollo 5
3.1 Canny algoritmo pasos 5
3.2 Pasos detallados del algoritmo 5
3.2.1 Procedimiento en escala de grises 5
3.2.2 Filtro suave gaussiano 5
3.2.3 Supresión no máxima 5
3.2.4 Detección de umbral doble 5
3.2.5 Suprimir puntos aislados de umbral bajo 5
IV. Algoritmo Cany 6
V. Conclusiones 7
VI. Referencias Bibliográficas 8
I. INTRODUCCION

Es importante la suma de mejorar las condiciones de las imágenes originales para


lograr resultados aceptables en cada una de las etapas. Una forma de contrarrestar
algunos de los problemas es mejorar la resolución de las imágenes. Existen distintas
formas de hacerlo: el mismo dispositivo, es una forma bastante rápida y común,
aunque conlleva la suma de los costos del dispositivo sensor; otra manera es fabricar
la calidad de la imagen mediante un preprocesamiento de la misma. El tratamiento de
imágenes es un campo de la inteligencia computacional, que consiste en imitar la
cognición humana con el propósito de percibir electrónicamente una imagen digital por
ello existen muchas técnicas utilizadas para la restauración digital de imágenes, una
técnica muy utilizada en la fotografía es el mejoramiento de los bordes de la imagen.
Esta técnica conlleva en aislar los bordes de la imagen, amplificarlos y posteriormente
volverlos a poner en la imagen. Existen varios ediciones que se emplean para este
propósito, en resumen el tratamiento de imágenes tiene el objetivo principal de
resolver tareas complejas, para lo cual utiliza métodos o técnicas tales como captura
de imagen, digitalización, preprocesamiento, detección de bordes, segmentación de
regiones, clasificación de regiones, identificación de alto nivel, entre otros por lo cual
en los últimos años el Procesamiento Digital de Imágenes es muy esencial y utilizado
por diversas disciplinas las cuales son Medicina, Biología, Física e Ingeniería., donde
mediante este procesamiento es posible manipular imágenes digitales en una
computadora con el fin de obtener la información objetiva y útil.
En el área de procesamiento de imágenes, la detección de los bordes de una imagen
es de suma importancia y utilidad, pues facilita muchas tareas, entre ellas, la facilidad
de objetos, la segmentación de regiones, etc, donde al delimitar los objetos se definen
los límites entre ellos y el fondo. Las informaciones más útiles que se encuentran en
una imagen se encuentran en los y entre los propios objetos entre sí.
Existen diversas aplicaciones como reconocimiento facial, detección de monedas,
aunque el área más destacada es la medicina, en la que la detección de bordes realiza
un papel de gran importancia incorporando cada vez más y mejores avances en el
tratamiento de imágenes médicas, tales como quemaduras o tumores.
Gracias a estos avances los especialistas pueden obtener de una forma mucho más
rápida y precisa información sobre la zona a tratar y actuar en consecuencia.
La detección de bordes se basa en definir como borde a los píxeles donde la
intensidad de la imagen cambia de forma abrupta. Si consideramos una función de
intensidad de la imagen, entonces lo que buscamos son saltos en dicha función. La
idea básica detrás de cualquier detector de bordes es el cálculo de un operador local
de derivación
Para ello en el algoritmo realizado se ha utilizado el operador Canny. Este operador
está considerado como uno de los mejores para realizar la detección de bordes
mediante el empleo de máscaras de convolución y basado en la primera derivada. El
operador de detección de bordes de Canny fue desarrollado por un catedrático de la
universidad de Berkeley (EEUU) en 1986 y se basa en un algoritmo de múltiples fases
para detectar un amplio rango de bordes.
Es sin duda el operador más tomado en la detección de bordes. El objetivo de Canny
era descubrir el algoritmo óptimo para la detección de bordes. Un detector óptimo
significará una buena detección, el algoritmo debe marcar muchos bordes reales como
sea posible, una buena localización, los bordes marcados deben estar lo más cerca
posible del borde en la imagen real, y por último una mínima respuesta, es decir, un
borde dado debe ser marcado sólo una vez y donde sea posible el ruido presente en la
imagen no debería crear falsos bordes.
En términos históricos, las técnicas de procesamiento digital de imágenes surgieron de
modo relativamente tardío dentro de las áreas de aplicaciones informáticas. El motivo
principal de la demora son los requerimientos de hardware y sistemas gráficos de alta
performance. En modo paralelo, las metodologías teóricas y algoritmos de
procesamiento digital son relativamente elaborados y con alto grado de sofisticación.
Actualmente se cuenta con tecnología de hardware avanzada y se dispone de una
muy amplia variedad de software para el procesamiento digital de imágenes. Se
aprovechan técnicas desarrolladas originalmente, principalmente los conceptos
fundacionales, en los primeros intentos de sustentar métodos analíticos e
implementación en algoritmos de cómputo que permitieron establecer los primeros
pasos en el campo del procesamiento digital de imágenes. Se incorporan
continuamente nuevas técnicas, muchas de las cuales basan en el uso de nuevos
conceptos o bien la aplicación de conceptos conocidos a esta área específica. Por
ejemplo, muchas metodologías de teoría de información son volcadas, adaptadas e
implementadas para el desarrollo de métodos de procesamiento digital de imágenes,
incluso conceptos propios de la matemática y física, como por ejemplo medidas o
métricas y entropía.
II. MARCO TEORICO

Se podría decir que en la actualidad cualquier equipo electrónico que podamos


encontrar a nuestro alrededor funciona con uno o varios procesadores digitales, las
cuales una imagen puede considerarse como un objeto cuya intensidad luminosa y
color puede variar de un punto a otro, y si se trata de imágenes monocromas se puede
representar como una fundación continua. Por ello Martínez sostiene que:

Por consiguiente, una imagen digital es una imagen que ha sido discretizada en
sus coordenadas especiales y en su intensidad luminosa y que cada elemento en
que se divide la imagen recibe el nombre de pixel (2010.p.68)

De esta manera concluyó La imagen digital es, por su naturaleza, económica, ya que es
de fácil duplicación, y puede ser de acceso simultáneo. No gasta materiales en su
producción y no hay que crear nuevos recursos de hardware que los que generalmente
existen

John F. Canny fue el fundador de la teoría computacional de la detección de bordes, la


cual es un operador o filtro encargado de encontrar las regiones de una imagen digital
en las cuales esta cambia su brillo drásticamente donde los puntos más importantes
que debe tener un detector de bordes para ser correcto son: Detección con bajos
niveles de errores. Es decir, el algoritmo debe detectar con precisión tantos bordes en
la imagen Por ello. Chacón nos menciona:

El método de canny define que el éxito de algoritmo detección de borde se


basa en la definición de un conjunto adecuado de metas para definir los
puntos de borde, las condiciones que define canny son dos posteriormente la
extiende a una tercera, las primeras dos son: el error de detección de bordes,
que indica que se deben de localizar todos los bordes y no se deben generar
respuestas falsas. La segunda se refiere a la localización del borde como
borde real. La tercera meta se agrega ya que las dos primeras no son
suficientes y es para evitar la posibilidad de tener respuestas múltiples. (2016,
p, 184)

Por lo mencionado anteriormente, el algoritmo de Canny es uno de los mejores


métodos para la detección de bordes, el cual aplica métodos de diferencias finitas
basado en la primera derivada y cuya popularidad se debe, además de sus buenos
resultados, a su sencillez, la cual que permite una gran velocidad de procesamiento al
ser implementado. utiliza el cálculo de variaciones, una técnica que encuentra la
función que optimiza un funcional indicado. La función óptima en el algoritmo de
Canny es descrito por la suma de cuatro términos exponenciales, pero se puede
aproximar por la primera derivada de una gaussiana
Los detectores de bordes lo primero que haces es aplicar un operador derivado a una
imagen suavizada, y establece mayor intensidad de pixeles que no se encuentran en
dicho objeto.

Según Martin mención que un borde puede definirse como un cambio significativo en
el valor de la intensidad de los pixeles en una región de la imagen (2017, p. 48).

Por lo expuesto se puede mencionar que en la era de la tecnología y constante


crecimiento de la misma, los humanos utilizamos estas técnicas que nos permite aislar
los objetos y separarlos del fondo, al haber obtenido los bordes, lo único que nos
faltaría es detectar los diferentes contornos, con estas técnicas nosotros podemos
facilitar más este tipo de actividades en nuestra vida cotidiana.

En la actualidad utilizamos técnicas para la mejorar las fotos antiguas, además es una
tecnología que extrae la información estructural de diferentes objetos, y estos
algoritmos de detección de bordes deben de cumplir con los estándares. Por ello Ehu
nos menciona.
Según Ehu nos dice el operador de Canny basa su operación en los siguientes
criterios:
1. Buena detección: El detector debe distinguir con suficiente Margen entre
bordes verdaderos y bordes falsos. Esto implica, por un lado, marcar con alta
probabilidad puntos tipo bordes reales. Por otro lado, el detector debe marcar,
con baja probabilidad, puntos que no son bordes. Este criterio corresponde a
maximizar la relación señal/ruido.
2. Buena localización: Los puntos marcados como bordes deben corresponder
en lo posible con los centros de los bordes verdaderos.
3. Respuesta única: En lo posible, el detector debe responder con un solo
borde. Esto, de alguna manera, queda implícito en el primer criterio, ya que
cuando existen dos respuestas para un mismo borde una de ellas se debe
considerar como falsa. Sin embargo, la forma matemática del primer criterio no
toma en cuenta el requisito de múltiples respuestas y por tanto esto se debe
especificar de manera explícita (2017, p.50).
Según lo mencionado por Ehu se deduce que el algoritmo del detector de borde de
Canny regularmente toma una imagen en escala de grises como ingreso y causa una
imagen que muestra el lugar de las discontinuidades de intensidad de los bordes,
además este algoritmo tiene el propósito de comprimir elocuentemente el tamaño de
los datos de la imagen mientras se conservan los atributos de la imagen original. El
algoritmo detector de bordes nos muestra lo que pasa al interior de estas imágenes en
desde un punto de vista de alto nivel.

Los bordes se definen, en términos de procesamiento de imágenes digitales, como los


lugares donde se produce un fuerte cambio de intensidad. Las técnicas de detección
de bordes se requieren a menudo en diferentes tareas de procesamiento de imágenes
y visión por ordenador, para la segmentación de imágenes, el reconocimiento de
patrones, preservar importantes propiedades estructurales, etc. Estas tareas son
aplicadas a áreas tales como la teledetección, la medicina, entre otras, el proceso de
detección de bordes sirve para simplificar el análisis de las imágenes reduciendo
drásticamente la cantidad de datos a procesar, al mismo tiempo permite preservar la
información estructural útil sobre las fronteras del objeto. Ciertamente hay una gran
diversidad de aplicaciones para la detección de bordes, pero se considera que muchas
de estas aplicaciones comparten un conjunto común de requisitos entre ellos tener una
baja tasa de error en el proceso de detección.

A lo largo de las últimas décadas se han propuesto distintas técnicas para la detección
de bordes, por ejemplo, en (Ma, Gao, Yang, & Liu, 2010) se propone la detección de
bordes mediante la aproximación de máscaras circulares y asociando cada punto de la
imagen con un área local de brillo similar. El principal inconveniente de esa propuesta
es la alta sensibilidad al ruido y la poca capacidad para discriminar bordes frente a
texturas. Además, su precisión no es completamente robusta debido a la dependencia
del parámetro de la desviación estándar del filtro gaussiano que se utiliza para la
eliminación del ruido, el cual se selecciona de forma manual, lo que conlleva a
pérdidas en la precisión de los resultados. Debido a estas limitaciones se ha propuesto
la inclusión de filtros morfológicos que eliminan esta dependencia.
III. DESARROLLO

- Pasos de algoritmo de Canny

1. Proceso en escala de grises


Algoritmo de detección de bordes se encarga de procesar imágenes RGB en escala
de grises.
2. Filtro suave gaussiano
El filtro gaussiano se utiliza para el proceso de algoritmo de detección de bordes a
datos, por ello se usa este filtro donde la imagen resultante es la imagen original
donde está ligeramente borrosa en comparación con la imagen original. Hace que el
ruido de un solo píxel casi no tenga efecto en la imagen suavizada gaussiana.
Si una ventana de 3 * 3 en la imagen es A, y el píxel a filtrar es e, después del filtrado
gaussiano, el valor de brillo del píxel e es:

3. Cálculo de la fuerza y de la dirección del gradiente


El algoritmo Canny usa 4 operadores para detectar bordes horizontales, verticales y
diagonales en la imagen, donde los operadores de detección de bordes como el de Roberts,
Prewitt, etc. Regresa los iniciales valores derivados en las direcciones horizontal Gx y Gy
vertical, a partir de los cuales se puede determinar el gradiente G del píxel y la dirección
theta.

G=G2x+G2y−−−−−−−√ G = G x 2 + G y 2

θ=arctanGyGx θ = arctan ⁡ G y G x

G es la intensidad del gradiente, θ θ Indica la dirección del gradiente, arctan . Es la función de


arco tangente. A continuación, se utiliza el operador Sobel como ejemplo para describir cómo
calcular la intensidad y la dirección del gradiente.
Los operadores Sobel en direcciones x e y son las siguientes:

El Sx representa el operador Sobel en la dirección x y se usa para detectar el borde en


la dirección y; Sy representa el operador Sobel en la dirección y y se usa para detectar
el borde en la dirección x.
Si una ventana de 3x3 en la imagen es A, y el píxel para calcular el gradiente es e,
luego de la convolución con el operador Sobel, el gradiente del píxel e en las
direcciones x e y Son:

La cual, genera el mapa de gradiente de brillo de cada punto de la imagen y la


dirección del gradiente de brillo de la imagen original
4. Supresión no máxima
-Comparar la intensidad de gradiente del píxel actual con dos píxeles a lo largo de la
dirección de gradiente positiva y negativa.
-Si la intensidad de gradiente del píxel actual es la más grande en comparación con
los otros dos píxeles, el píxel permanecerá como un borde, de lo contrario, el píxel se
suprimirá.
- Se usa la interpolación lineal entre dos píxeles adyacentes en la dirección del
gradiente para obtener el gradiente de píxeles que se va a comparar todo esto es para
un cálculo más preciso,.

-Como se muestra en la figura, el gradiente se divide en 8 direcciones, a saber, E, NE,


N, NW, W, SW, S, SE, donde 0 representa 0 ° ~ 45 °, 1 representa 45 ° ~ 90 °, 2
representa -90 ° ~ -45 ° y 3 representa -45 ° ~ 0 °. La dirección del gradiente del píxel
P es θ, luego la interpolación lineal de los gradientes de los píxeles P1 y P2 es:

5.Detección de umbral doble


Si el valor de gradiente del pixel del borde es mayor que el umbral alto, se marca como
un pixel del borde fuerte; si el valor gradiente del pixel del borde es más alto que el
umbral bajo y más bajo que el umbral alto, se marca como un pixel del borde débil, si
el valor del gradiante del pixel del borde es inferior al umbral bajo, el pixel se suprime
6.Suprimir aislados de umbral bajo

Los pixeles de bordes fuertes entre los 8 pixeles conectados en los pixeles de borde
se conservan como bordes verdaderos; de lo contrario suprima pixel

IV. ALGORITMO CANY


import cv2 as cv
def edge_demo(image):
blurred = cv.GaussianBlur(image, (3,3), 0)
gray = cv.cvtColor(blurred, cv.COLOR_BGR2GRAY)
# Encuentra el gradiente en la dirección X
grad_x = cv.Sobel(gray, cv.CV_16SC1, 1, 0)
# Encuentra el gradiente en la dirección y
grad_y = cv.Sobel(gray, cv.CV_16SC1, 0, 1)
# Convertir el valor del gradiente a 8 bits
x_grad = cv.convertScaleAbs(grad_x)
y_grad = cv.convertScaleAbs(grad_y)
# Combina dos gradientes
src1 = cv.addWeighted(x_grad, 0.5, y_grad, 0.5, 0)
# Combine gradientes con algoritmo canny, donde 50 y 100 son umbrales
edge = cv.Canny(src1, 50, 100)
cv.imshow("Canny_edge_1", edge)
edge1 = cv.Canny(grad_x, grad_y, 10, 100)
cv.imshow("Canny_edge_2", edge1)
# Use el borde como una máscara para realizar operaciones bit a bit y bit a
bit
edge2 = cv.bitwise_and(image, image, mask=edge1)
cv.imshow("bitwise_and", edge2)

src = cv.imread("fff.png")
cv.imshow("fff", src)
edge_demo(src)
cv.waitKey(0)
cv.d
V. CONCLUSIONES

En conclusión, el algoritmo de Canny es uno de los mejores métodos para la detección


de bordes.

Mejoro las diferentes formas de observar y cambiar las imágenes.

Marco una diferencia entre el hoy y antes ya que antes no se podía modificar las
imágenes a ese nivel

En este trabajo se ha presentado en el que se detalla todos los pasos necesarios para
conocer los bordes de una imagen mediante el algoritmo de Canny,

Este algoritmo es simple de implementar y eficiente.

Como se observa en los ejemplos los resultados en la aplicación son los previstos, y
de esta manera se observa los necesario e indispensable de este algoritmo

Este informe se detalla los pasos necesarios para conocer los bordes de una imagen
mediante el algoritmo de Canny, este algoritmo de detección de bordes de imágenes
basado en el operador Canny ha sido presentado al usuario mediante una interfaz
gráfica muy intuitiva y de sencillo manejo.

VI. REFERENCIAS BIBLIOGRAFICAS

CHACON, Mario. Percepción visual aplicada a la robótica. Ciudad de México: 2016. 364 pp.
ISBN: 978-607-622-192-1
https://books.google.com.pe/books?id=pCHaDAAAQBAJ&pg=SA1-
PA73&dq=Algoritmo+Canny&hl=es&sa=X&ved=2ahUKEwjArKLTranwAhU0FFkFHYGmA
cQQ6AEwBXoECAIQAg#v=onepage&q=Algoritmo%20Canny&f=false
MARTINEZ, Nistal. Técnicas de fluorescencia en microscopia y citometría.México: 2014
. 32 pp.
ISBN: 84-7468-850-7
https://books.google.com.pe/books?
id=tcCeoc0ubbEC&pg=PA32&dq=procesamiento+digital+de+imagenes&hl=es-
419&sa=X&ved=2ahUKEwiOrNW-
g77wAhUklJUCHfOCDcU4ChDoATABegQIAxAC#v=onepage&q=procesamiento
%20digital%20de%20imagenes&f=false

GONZALES, Jonathan. Reconocimiento de objetos utilizando OpenCV y Python en una Raspberry pi


2 en una tlapalería, México. 2017. 120 pp. disponible en:
http://ri.uaemex.mx/bitstream/handle/20.500.11799/68150/tesis%20opencv%20python.pdf?
sequence=1&isAllowed=y

También podría gustarte