Después de investigar con especialistas en el tema, programadores de varias áreas y maestros dimos con la solución a la cuestión y la compartimos en esta publicación.
Solución:
Prueba esto:
# open the file with opencv
image = cv2.imread("image.jpg", 0)
if cv2.countNonZero(image) == 0:
print "Image is black"
else:
print "Colored image"
Básicamente, verifica si todos los valores de píxeles son 0 (negro).
image = cv2.imread("image.jpg", 0)
if cv2.countNonZero(image) == 0:
print "Image is black"
else:
print "Colored image"
El fragmento anterior proporcionado por @ebeneditos es una buena idea, pero en mis pruebas, opencv devuelve un error de afirmación al capturar una imagen en color.
Según la comunidad de opencv, contarNonZero() puede manejar solo imágenes de un solo canal. Por lo tanto, una solución simple sería convertir la imagen a escala de grises antes de contar los píxeles. Aquí está:
gray_version = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
if cv2.countNonZero(gray_version) == 0:
print("Error")
else:
print("Image is fine")
Sección de Reseñas y Valoraciones
Recuerda que tienes la capacidad de agregar una reseña si te fue preciso.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)