Código de Python - Filtrado de imagenes.

Imágen de perfil

Filtrado de imagenes.gráfica de visualizaciones


Python

Publicado el 15 de Diciembre del 2023 por Hilario (123 códigos)
1.332 visualizaciones desde el 15 de Diciembre del 2023
Aula_38_Imagen_Filtrada.py.
+++++++++++++++++++++


En este diminuto ejemplo, hablaremos un poco de la filtración, o suavización de la imagen, antes de someterla a las diversas convoluciones.

La filtración de una imagen antes de aplicar convoluciones o técnicas más avanzadas tiene varias razones. Aquí hay algunas de las razones más comunes:

Reducción de Ruido:

Las imágenes a menudo contienen ruido, que son variaciones no deseadas o errores en los datos. La filtración previa puede ayudar a reducir el ruido y mejorar la calidad de la imagen antes de realizar operaciones más complejas.

Eliminación de Detalles Innecesarios:

En algunas aplicaciones, como la detección de bordes o características, es beneficioso eliminar detalles innecesarios antes de aplicar técnicas más avanzadas. Esto puede mejorar la eficiencia computacional y evitar que se capturen detalles no deseados.
Suavizado de la Imagen:

Filtrar una imagen con técnicas como el filtro Gaussiano puede suavizar la imagen, lo que puede ser útil para preservar características importantes mientras se atenúan detalles finos. Esto puede ser especialmente útil en tareas de procesamiento de imágenes donde se necesita resaltar características más prominentes.

Mejora del Contraste:

Algunos filtros pueden ayudar a mejorar el contraste en la imagen, resaltando las diferencias entre regiones de la imagen. Esto puede ser beneficioso antes de aplicar técnicas que dependan del contraste.
Preprocesamiento para Algoritmos de Aprendizaje Automático:

Cuando se utilizan imágenes como entrada para algoritmos de aprendizaje automático, a menudo se realiza un preprocesamiento para reducir la complejidad y garantizar que el modelo se enfoque en características relevantes.
Mejora de la Estabilidad Numérica:

En algunos casos, filtrar la imagen antes de ciertas operaciones puede mejorar la estabilidad numérica y evitar problemas como la amplificación de ruido numérico.
Es importante señalar que la necesidad de filtrar una imagen antes de la convolución puede depender de la tarea específica y del conjunto de datos. En algunas situaciones, la filtración puede ser crucial, mientras que en otras puede no ser necesaria. La elección del tipo de filtro y sus parámetros dependerá de la naturaleza de la imagen y los requisitos de la tarea que estás abordando.

TIPOS MÁS IMPORTANTES DE SUAVIZACIÓN DE IMAGENES.
--------------------------------------------------------------------------------------------
Existen varios tipos de filtros que se pueden utilizar para procesar imágenes y cada uno tiene aplicaciones específicas. Aquí hay algunos tipos comunes de filtrado de imágenes:

Filtro de Suavizado (Blur):

Promedio (Average): Reemplaza cada píxel por el promedio de los píxeles vecinos.
Gaussiano: Aplica un filtro Gaussiano para suavizar la imagen, reduciendo el ruido y los detalles finos.
Filtro de Realce (Sharpening):

Enfasis (Unsharp Masking): Crea una versión borrosa de la imagen original y la sustrae para resaltar bordes y detalles.
Máscaras de Realce: Utiliza máscaras diseñadas para realzar características específicas.
Filtro de Detección de Bordes:

Sobel, Prewitt, Roberts: Estos filtros se utilizan para detectar bordes en una imagen realzando las diferencias de intensidad.
Operador Laplaciano: Resalta los cambios de intensidad en una imagen.
Filtro de Mediana:

Reemplaza cada píxel por el valor de la mediana de los píxeles vecinos. Es eficaz para eliminar el ruido impulsivo (salt-and-pepper).
Filtro de Bilateral:

Conserva los bordes mientras suaviza la imagen. Es útil para suavizar la imagen sin perder detalles importantes.
Filtro de Adaptación Local de Contraste (CLAHE):

Mejora el contraste local en áreas de la imagen. Útil para resaltar detalles locales.
Filtro de Transformada Wavelet:

Utiliza la transformada wavelet para realizar suavizado o realce de la imagen en diferentes escalas y direcciones.
Filtro de Color:

Corrección de Color: Ajusta el equilibrio de color y mejora la apariencia visual de la imagen.
Espacio de Color YUV: Puede aplicarse para modificar la luminancia y los componentes de color independientemente.
Estos son solo algunos ejemplos, y la elección del filtro dependerá de la tarea específica y los requisitos de procesamiento de la imagen. Además, a menudo es beneficioso realizar ajustes y experimentar con diferentes filtros y parámetros para obtener los resultados deseados.

----------------------------------------------------------------------------------
En este ejemplo, propongo utilizar el sistema que definimos como la aplicación de un filtro Gaussiano.
La campana de Gauss, también conocida como función gaussiana o distribución normal, es una función matemática que describe una forma de campana simétrica. Con esto tratamos de suavizar el contorno o extemos de la imagen.







mar

Requerimientos

Este ejercicio que llamamos: Aula_38_Imagen_Filtrada.py
Fue ralizado en una plataforma Linux, con Ubuntu 20.import cv2

Fue editado con Sublime text.

*********************************************************************
En el sistema operativo se debe tener cargado python3.
Y las librerías:
import cv2


Ejecución, en consola linux: python3 Aula_38_Imagen_Filtrada.py

********************************************************************
Se deberá indicar al programa la ruta de la imagen a estudio, en mi caso: '/home/python/python/mar.jpg'

v-0

Publicado el 15 de Diciembre del 2023gráfica de visualizaciones de la versión: v-0
1.333 visualizaciones desde el 15 de Diciembre del 2023
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#Ejecución bajo consola linux: python3 Aula_38_Imagen_Filtrada.py
 
import cv2
 
# Cargar la imagen en formato BGR
imagen_bgr = cv2.imread('/home/python/python/mar.jpg')
 
# Aplicar el filtro Gaussiano para suavizar la imagen
imagen_suavizada = cv2.GaussianBlur(imagen_bgr, (5, 5), 0)
 
# Mostrar las imágenes
cv2.imshow('Imagen Original', imagen_bgr)
cv2.imshow('Imagen Suavizada', imagen_suavizada)
 
cv2.waitKey(0)
cv2.destroyAllWindows()



Comentarios sobre la versión: v-0 (0)


No hay comentarios
 

Comentar la versión: v-0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s7468