# Gnral Dveloppement > Algorithme & Mathmatiques > Traitement d'images >  Calcul de surface d'un sigle quelconque blanc sur un fond noir

## Carbonara

Bonjour,

J'ai besoin de calculer la surface d'u sigle ou un chiffre blanc sur un fond Noir 100%.

J'ai diffrentes images et je voudrais savoir par quel biais je pourrais calculer de faon simple le pourcentage de surface que le sigle prend dans une image noire.

Je pensais qu'avec Photoshop, ce serait possible mais pas si simple.

Je parle de surface et nous sommes en noir et blanc 100 %

On peut imagin un carr de 10 cm x 10 cm Noir 100 % avec un 5 blanc dedans. Combien de surface en % fait le "5" blanc dans les 100 Cm.

Merci d'avance

Cabonara

----------


## PadawanDuDelphi

Salut,

Le plus simple en traitant directement les pixels de l'image:
Compter les pixels blancs, et diviser par le nombre de pixel total, et tu as le rapport des surfaces en %.
A+.

----------


## Carbonara

Merci

Ceci dit je suis novice dans ce domaine et c'est pour application professionnelle. Donc, quel outils puis je utiliser.

Un petit programme serait l'idal ou sinon avec Photoshop

Merci en tout cas de la rapidit

----------


## PadawanDuDelphi

Je crois que c'est impossible avec PhotoShop.
Mais ce n'est pas trs difficile  coder. 
Le pseudo-algorithme


```

```

Tu programmes dans un langage en particulier ?

----------


## Carbonara

Non, je programme pas, mme si a me plairais !!!

L c'est du chinois pour moi, ou presque.

----------


## PadawanDuDelphi

> Non, je programme pas, mme si a me plairais


Alors je suis pas sr que tu sois sur le bon forum (developpez.com)
Je ne connait pas d'outil, mais si tu n'ai pas trop press et que a peut attendre lundi, je peux t'envoyer un executable par mail qui fera a.

A+.

----------


## phryte

Tu peux aussi utiliser la mthode de Monte Carlo.

----------


## Carbonara

> Alors je suis pas sr que tu sois sur le bon forum (developpez.com)
> Je ne connait pas d'outil, mais si tu n'ai pas trop press et que a peut attendre lundi, je peux t'envoyer un executable par mail qui fera a.
> 
> A+.



Ce serait gnial !!!!!!!!! Lundi c'est parfait !!!!

Merci beaucoup

 ::P: 




> Tu peux aussi utiliser la mthode de Monte Carlo.


L je ne connais que le circuit !!!

Je vois pas ce que c'est ????

----------


## phryte

Rien  voir avec le circuit !

1) On dfinit un contour du sigle de surface S connue. Ce contour peut tre l'image tout entire.
2) On tire au hasard N points dans ce contour. (distribution uniforme)
3) On compte les N1 points qui sont dans le sigle
4) La surface du sigle est :  S1 = (N1/N)*S

Bien entendu, plus N est grand meilleure est la prcision.

----------


## ToTo13

Bonjour,




> Rien  voir avec le circuit !
> 
> 1) On dfinit un contour du sigle de surface S connue. Ce contour peut tre l'image tout entire.
> 2) On tire au hasard N points dans ce contour. (distribution uniforme)
> 3) On compte les N1 points qui sont dans le sigle
> 4) La surface du sigle est :  S1 = (N1/N)*S
> 
> Bien entendu, plus N est grand meilleure est la prcision.


 :8O:  => Quelle est l'intrt d'appliquer une telle mthode pour obtenir une approximation du rsultat alors qu'un algorithme en O(N) permet d'avoir la solution exacte  ::aie::  !!!
Surtout qu'il ne sait pas programmer...  ::oops::

----------


## Carbonara

Vous tes hallucinats tellements a a l'air simple pour vous !!!

Moi j'y comprends pas grand chose !! Le principe oui mais l'application, c'est autre chose.

J'attends donc un programme que m'a propos "PadawanDuDelphi". Si a mache, je vais tre impressionn par la rapidit et l'efficacit !!!!!! (ceci dit, je le suis dj !!)

Merci  tous pour me prter vos mninges !!!

 ::):

----------


## pseudocode

Vous savez que Photoshop peut afficher l'histogramme d'une image/zone, ainsi que toutes les informations (nombre de pixels, pourcentage, ...) ?

----------


## souviron34

ok si c'est a, alors c'est facile :

dans PhotoShop tu as un menu "image"

Dans ce menu un sous-menu "niveaux"

Tu le slectionnes

Il t'affiche  peu prs la fentre de _pseudocode_, sauf qu'il prcise au dessus de l'histogramme "niveaux d'entre" et en dessous "niveaux de sortie"

Tu regardes la couleur de ton sigle

Tu regardes le chiffre correspondant dans l'histogramme

tu divises ce chiffre par largeur*hauteur

tu obtiens le %

----------


## Carbonara

Je vais essayer ds que possible. 

En attendant voici un exemple sachant que les dimensions peuvent changer !!

Combien de % de surface reprsente le blanc ?

----------


## pseudocode

2.4%

 ::yaisse3::

----------


## Carbonara

Tu peux dvelopper ?

Si c'est bon, c'est gnial !

----------


## pseudocode

> Tu peux dvelopper ?
> 
> Si c'est bon, c'est gnial !


Comme dit prdement, la fenetre histogramme te donnes toutes les infos utiles.Si tu met la souris au milieu de l'histogramme, le champ "pourcentage" te donne le ratio "(pixel valeur infrieur)/(total pixel)". C'est  dire le pourcentage de pixels sombres => pour avoir le pourcentage de pixels clairs, il faut prendre le complment a 100.

----------


## benDelphic

::?: moi je trouve une proportion de 1,05109811436346 %  ::yaisse2::

----------


## pseudocode

> moi je trouve une proportion de 1,05109811436346 %


Thresholded voxels: 6873
Total ROI Voxels: 280754
Volume fraction:  *2.45%*

(rsultats obtenus avec ImageJ 1.40)

----------


## Carbonara

a marche, c'est gnial !!!!!

Je vois pourquoi 2,45 et pourquoi 1,05% 

En fait c'est mon exemple qui n'est pas viable vu qu'il n'y a pas que du noir et blanc 100%

Merci  tous

J'attends ceci dit le programme de PadawanDuDelphi qui pourrait m'tre utile si je n'arrive pas  obtenir Photoshop.

Encore merci

----------


## icer

Moi j'ai *2.4%*.

Mais avec l'aide de l'histogramme de Gimp. Et a marche mme avec les pixels non 100% blanc. (En slectionnant la plage de valeur des diffrents blancs  ::lol::  )

----------


## pseudocode

> Moi j'ai *2.4%*.
> 
> Mais avec l'aide de l'histogramme de Gimp. Et a marche mme avec les pixels non 100% blanc. (En slectionnant la plage de valeur des diffrents blancs  )


 ::king::  On trouve bien les memes valeurs de comptage: 6873 / 280754

Pour le pourcentage c'est juste une question d'arrondi: 2,448050606580... %

----------

