2017-09-25 2 views

Répondre

0

Je ne suis pas sûr de l'exigence exacte alors laissez-moi formalise un peu ce que je compris de la description limitée dans la question:

requis:

Pour certains niveaux de gris image img, nous voulons calculer comme un pourcentage du nombre total de pixels, le nombre de pixels qui ont une valeur d'intensité inférieure à un certain seuil, par exemple t

En supposant que vous avez chargé votre image dans un tableau numpy, vous pouvez simplement calculer le nombre total de pixels avec une valeur d'intensité < t et diviser par le nombre total de pixels.

num_dark_px = sum(img[img < t]) 
num_total_px = img.shape[0] * img.shape[1] 
dark_area_pcnt = num_dark_px/num_total_px 

S'il existe un autre objectif, veuillez spécifier plus d'informations sur le problème.

+0

Merci! désolé que je ne l'ai pas précisé. dans l'image que j'ai fournie, il y a des zones plus sombres que le reste de la zone. et parce que l'image est du bruit, votre méthode comptera beaucoup de pixels qui n'appartiennent en fait pas à la zone la plus sombre. Je voudrais donc demander s'il existe une méthode pour identifier ces zones plus sombres et ensuite calculer le pourcentage. – Forrest

+0

Je ne suis pas familier avec quel type de technique aidera à débruiter cette image médicale, la connaissance du type/source de bruit aide à décider ceci. Mais, vous pouvez commencer par essayer quelque chose de simple comme "lisser" l'image en utilisant des filtres gaussiens et en suivant la même approche de comptage des pixels "sombres". Cela donnerait une estimation grossière de ce que je comprends que vous recherchez. Une approche plus sophistiquée pourrait inclure quelque chose comme le débruitage/lissage suivi de composants connectés, puis l'évaluation du pourcentage de pixels sombres. –

+0

Merci pour l'aide. Le filtre gaussien aide, puis définit une limite de serrage, au-dessus de certaine valeur pour définir pixel à 1 et ci-dessous à 0, puis il peut grossièrement calculer le pourcentage – Forrest