OpenCV: contar el número de píxeles en blanco y negro de la imagen

En este artículo, analizaremos cómo contar la cantidad de píxeles negros y píxeles blancos en la imagen usando OpenCV y NumPy. 

requisitos previos:

La imagen que estamos usando para la demostración se muestra a continuación:

Para mostrar OpenCV proporciona el método imshow() para mostrar la imagen que hemos leído recientemente.

Contando píxeles

NumPy proporciona una función sum() que devuelve la suma de todos los elementos de la array en la array NumPy. Esta función sum() se puede utilizar para contar el número de píxeles en función de los criterios necesarios.

Ahora, un poco de conocimiento de los patrones de píxeles entra en escena. Como sabemos que cada píxel en una imagen en color oscila entre [0-255] todo incluido, siendo el valor de píxel para el color negro 0 y el del color blanco 255. Esto nos da una cierta condición fija de diferenciación para el píxeles blancos y negros respectivamente de los otros píxeles de color respectivamente.

Esta condición se puede escribir en el NumPy como:

number_of_white_pix = np.sum(img == 255) # extrayendo solo píxeles blancos 

number_of_black_pix = np.sum(img == 0) # extrayendo solo píxeles negros 

La primera línea dice que extraiga y cuente todos los píxeles del objeto de imagen cv2 «img» cuyo valor de píxel es 255, es decir, píxeles blancos. De manera similar, la segunda línea dice que extraiga y cuente todos los píxeles del objeto de imagen cv2 «img» cuyo valor de píxel es 0, es decir, píxeles negros.

La condición dentro de sum() extrae solo aquellos píxeles de la imagen que siguen esa condición y les asigna el valor True (1) y el resto de los píxeles se asignan False (0). Por lo tanto, la suma de todos los Verdaderos (1) nos da el recuento de los píxeles que cumplen la condición dada entre paréntesis.

Código: implementación de Python para contar la cantidad de píxeles en blanco y negro en la imagen usando OpenCV

Python3

# importing libraries
import cv2
import numpy as np
  
# reading the image data from desired directory
img = cv2.imread("chess5.png")
cv2.imshow('Image',img)
  
# counting the number of pixels
number_of_white_pix = np.sum(img == 255)
number_of_black_pix = np.sum(img == 0)
  
print('Number of white pixels:', number_of_white_pix)
print('Number of black pixels:', number_of_black_pix)

Producción:

Imagen a procesar

Recuento de píxeles en blanco y negro de la imagen de arriba

Por lo tanto, podemos inferir de los resultados anteriores que la imagen se puede procesar para recuperar los píxeles de cualquier color deseado con la ayuda de su código de color u obtener los píxeles en función de cualquier otra condición que se requiera.

Referencias:

Publicación traducida automáticamente

Artículo escrito por harshdhussa y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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