Saltar al contenido

etiquetado de componentes conectados en python

Nuestro grupo de redactores ha estado largas horas buscando para dar soluciones a tu duda, te brindamos la respuesta así que esperamos resultarte de mucha apoyo.

Los documentos de OpenCV 3.0 para connectedComponents() no mencione Python, pero en realidad está implementado. Consulte, por ejemplo, esta pregunta SO. En OpenCV 3.4.0 y superior, los documentos incluyen las firmas de Python, como se puede ver en los documentos maestros actuales.

La llamada a la función es simple: num_labels, labels_im = cv2.connectedComponents(img) y puede especificar un parámetro connectivity para comprobar la conectividad de 4 u 8 vías (predeterminada). La diferencia es que la conectividad de 4 vías solo verifica los píxeles superior, inferior, izquierdo y derecho y ve si se conectan; Comprobaciones de 8 vías si alguno de los ocho píxeles vecinos se conecta. Si tiene conexiones diagonales (como las que tiene aquí), debe especificar connectivity=8. Tenga en cuenta que solo numera cada componente y les da etiquetas de números enteros crecientes que comienzan en 0. Entonces, todos los ceros están conectados, todos los unos están conectados, etc. Si desea visualizarlos, puede asignar esos números a colores específicos. Me gusta asignarlos a diferentes tonos, combinarlos en una imagen HSV y luego convertirlos a BGR para mostrarlos. Aquí hay un ejemplo con su imagen:

import cv2
import numpy as np

img = cv2.imread('eGaIy.jpg', 0)
img = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)[1]  # ensure binary
num_labels, labels_im = cv2.connectedComponents(img)

def imshow_components(labels):
    # Map component labels to hue val
    label_hue = np.uint8(179*labels/np.max(labels))
    blank_ch = 255*np.ones_like(label_hue)
    labeled_img = cv2.merge([label_hue, blank_ch, blank_ch])

    # cvt to BGR for display
    labeled_img = cv2.cvtColor(labeled_img, cv2.COLOR_HSV2BGR)

    # set bg label to black
    labeled_img[label_hue==0] = 0

    cv2.imshow('labeled.png', labeled_img)
    cv2.waitKey()

imshow_components(labels_im)

imagen etiquetada

valoraciones y reseñas

Ten en cuenta dar visibilidad a este artículo si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *