Restaurar Imagenes

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 20

Restauramos una imagen dañada

En este ejercicio, restauraremos una imagen a la que le faltan partes, usando


la inpaint_biharmonic()función.

Cargado como defect_image.

Trabajaremos en una imagen del datamódulo, obtenida


por data.astronaut(). Algunos de los píxeles han sido reemplazados por unos
usando una máscara binaria, a propósito, para simular una imagen
dañada. Reemplazar los píxeles por unos los vuelve totalmente negros. La imagen
defectuosa se guarda como una matriz llamada defect_image.

La máscara es una imagen en blanco y negro con parches que tienen la posición
de los bits de la imagen que se han dañado. Podemos aplicar la función de
restauración en estas áreas. Esta máscara está precargada como mask.

Recuerde que inpainting es el proceso de reconstruir partes perdidas o


deterioradas de imágenes y videos.
Eliminar logotipos
Como vimos en el video, otro uso de la restauración de imágenes es eliminar
objetos de una escena. En este ejercicio, eliminaremos el logotipo de Datacamp
de una imagen.
Imagen cargada como  image_with_logo.

Creará y configurará la máscara para poder borrar el logotipo pintando esta área.

Recuerde que cuando desee eliminar un objeto de una imagen, puede delinear
manualmente ese objeto o ejecutar algún algoritmo de análisis de imagen para
encontrarlo.
¡Hagamos ruido!
En este ejercicio, practicaremos cómo agregar ruido a una imagen de fruta.
Imagen precargada como fruit_image.
Reducir el ruido
Tenemos una imagen ruidosa que queremos mejorar eliminando el ruido en ella.
Precargado como noisy_image.

Utilice la eliminación de ruido del filtro de variación total para lograr esto.
Reducir el ruido conservando los
bordes
En este ejercicio, reducirá el ruido en esta imagen de paisaje.

Precargado como landscape_image.

Como preferimos preservar los bordes de la imagen, usaremos el filtro de


eliminación de ruido bilateral.
Numero de pixeles
Calculemos el número total de píxeles de esta imagen.
Imagen precargada como face_image

La cantidad total de píxeles es su resolución. Dada


porHe i gh t × Wyo dt hHmiyogramoht×Wyoreth.
Use .shapedesde NumPy que está precargado como np, en la consola para
verificar el ancho y alto de la imagen.
Np.shape(fase_image)

Segmentación de superpíxeles
En este ejercicio, aplicará una segmentación sin supervisión a la misma imagen,
antes de pasarla a un modelo de aprendizaje automático de detección de rostros.

Entonces reducirás esta imagen


de 265 × 191 = 50 , 615.265×191=50,615 píxeles hasta 400400 regiones.
Ya precargado como face_image.

La show_image()función también se ha precargado para usted.


Formas de contorno
En este ejercicio encontraremos el contorno de un caballo.

Para eso haremos uso de una imagen binarizada proporcionada por scikit-image


en su datamódulo. Las imágenes binarizadas son más fáciles de procesar cuando
se encuentran contornos con este algoritmo. Recuerde que la búsqueda de
contornos solo admite matrices de imágenes 2D.

Una vez detectado el contorno, lo mostraremos junto con la imagen original. ¡De


esa forma podemos comprobar si nuestro análisis fue correcto!

show_image_contour(image, contours) es una función precargada que muestra la


imagen con todos los contornos encontrados usando Matplotlib.
Recuerde que puede utilizar la find_contours()función del módulo de medida,
pasando la imagen de umbral y un valor constante
https://scikit-image.org/docs/dev/api/skimage.io.html

Encuentra los contornos de una


imagen que no es binaria
Trabajemos un poco más en cómo preparar una imagen para poder encontrar sus
contornos y extraer información de ella.

Procesaremos una imagen de dos dados morados cargados image_dicesy


determinaremos qué número se lanzó para cada dado.

En este caso, la imagen aún no es binaria ni en escala de grises. Esto significa


que debemos realizar algunos pasos de procesamiento previo de la imagen antes
de buscar los contornos. Primero, transformaremos la imagen en una imagen de
escala de grises de matriz 2D y luego aplicaremos el umbral. Finalmente, los
contornos se muestran junto con la imagen original.

color, measurey los filtersmódulos ya están importados, por lo que puede usar


las funciones para encontrar contornos y aplicar umbrales.
También importamos el iomódulo para cargarlo image_dicesdesde la memoria
local, usando imread. Leer más aquí.
Cuenta los puntos en la imagen de un
dado
Ahora que hemos encontrado los contornos, podemos extraer información de
ellos.

En el ejercicio anterior, preparamos una imagen de dados morados para encontrar


sus contornos:

Esta vez determinaremos qué número se lanzó para los dados, contando los
puntos en la imagen.

Los contornos encontrados en el ejercicio anterior están precargados


como contours.
Crea una lista con todas las formas de contorno como shape_contours. Puede ver
todas las formas de los contornos llamando shape_contoursa la consola, una vez
que la haya creado.

Compruebe que la mayoría de los contornos no superen el tamaño de 50. Si los


cuenta, son el número exacto de puntos de la imagen.

show_image_contour(image, contours) es una función precargada que muestra la


imagen con todos los contornos encontrados usando Matplotlib.

También podría gustarte