Calcular el número de píxeles "negros" en una imagen (blanco y negro)

Resuelto
neji55 Mensajes publicados 3 Estado Membre -  
 nath84150 -
Hola,
he hecho un programa en python que cuenta los píxeles "negros" de una imagen (blanco y negro), pero desafortunadamente el contador ("print i") no muestra el resultado (número de píxeles negros), aquí está mi programa, ¿cuál es el problema?

gracias por tu ayuda ^^

1 réponse

Timmydu26 Mensajes publicados 85 Estado Membre 30
 
## De hecho habías inicializado tu i=0 en tus bucles for...
## así que para cada píxel vuelves a poner i en cero cada vez...
## hay que ponerlo en cero una vez antes de los bucles for y luego
## se incrementa cuando es necesario.
## además tu while es innecesario y completamente incorrecto para
## lo que quieres hacer aquí...
## De lo contrario, tu imagen está en blanco y negro, así que cárgala en escala de grises
## prueba mejor esto entonces:

import cv2
import numpy as np

image = cv2.imread('test.jpg',0)
#--> con el cero, obtienes una imagen en escala de grises, es decir, un solo canal de color... #así que si tu imagen contenía solo negro y blanco no cambiará

somme_px_noir = np.sum(image == 0)
# aquí en cálculo matricial es ultra más rápido que los bucles for...
print somme_px_noir
# para mostrarte que el resultado es el mismo aquí está con los bucles for...
s=0
for i in range(208):
____for j in range(304):
________if image[i,j] == 0:
____________s = s +1
print s
# reemplaza los _ por el mismo número de espacios
# Cordialmente.
## Si tienes preguntas no dudes en preguntar...
8
neji55 Mensajes publicados 3 Estado Membre
 
merci bien @Timmydu26 pour ton aide, le problème est résolu ^^
1
nath84150
 
¡gracias!
1