Python Encontrar contornos en una imagen con OpenCV cv2

El contorno en la imagen es un contorno en los objetos presentes en la imagen. El significado de los objetos depende de los requisitos y del umbral que se elija.

En este tutorial, aprenderemos a encontrar contornos en una imagen, utilizando la biblioteca OpenCV de Python.
Paso para encontrar contornos en una imagen

Para encontrar contornos en una imagen, siga estos pasos:

  1. Lea la imagen como imagen en escala de grises.
  2. Utilizar la función cv2.threshold() para obtener la imagen umbral.
  3. Utilice cv2.findContours() y pase la imagen umbral y los parámetros necesarios.
  4. findContours() devuelve los contornos. Se puede dibujar en la imagen original o en una imagen en blanco.

Ejemplo 1: Encontrar contornos en una imagen

En este ejemplo, tomaremos la siguiente imagen y aplicaremos los pasos mencionados anteriormente para encontrar los contornos.

Astronauta en el espacio
Astronauta en el espacio

En este ejemplo, escribiremos los contornos en una nueva imagen binaria.

import cv2
import numpy as np

img = cv2.imread('C:\\Users\\srr\\Desktop\\testPython\\espacio-astronauta.jpg', cv2.IMREAD_UNCHANGED)

#Conversión de la imagen a escala de grises
img_grey = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#establecer un umbral
umbral = 100
#obtener el umbral de la imagen
ret,umbral_img = cv2.threshold(img_grey, umbral, 255, cv2.THRESH_BINARY)
#encontrar el contorno
contornos, jerarquia = cv2.findContours(umbral_img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

#crear una imagen vacía para los contornos
img_contornos = np.zeros(img.shape)

# dibujar los contornos en la imagen vacía
cv2.drawContours(img_contornos, contornos, -1, (75, 255, 0), 1)

#Guardar los contornos en una nueva imagen
cv2.imwrite('C:\\Users\\srr\\Desktop\\testPython\\contorno.jpg',img_contornos) 

Imagen de salida:

Contorno del astronauta en el espacio
Contorno del astronauta en el espacio

En el programa python anterior, hemos tomado un valor de umbral de 100. Si se cambia el umbral, los contornos también cambian. Vamos a tomar el valor del umbral como 130 y ver el resultado.

 Astronauta en el espacio con 130 de contorno
Astronauta en el espacio con 130 de contorno

En función de la distribución del color y de las características de su imagen de origen, debe elegir un valor de umbral.

Para resumir este tutorial de Ejemplos de Python, hemos aprendido a encontrar contornos en la imagen utilizando la biblioteca OpenCV de Python.

Deja una respuesta