0% ont trouvé ce document utile (0 vote)
78 vues1 page

Traitement d'images en parallèle avec C++

Le document présente un exercice d'analyse et de traitement d'images en niveaux de gris, impliquant deux séries de 24 images. Il décrit le développement d'un programme pour traiter ces images en parallèle sur deux cœurs logiques, en calculant la moyenne et l'écart-type des valeurs des pixels, ainsi qu'en appliquant un seuillage. Des questions sont posées sur l'implémentation du code parallèle et l'impact de l'ajout de la clause nowait sur les performances.

Transféré par

mohamedammar.bellah
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
78 vues1 page

Traitement d'images en parallèle avec C++

Le document présente un exercice d'analyse et de traitement d'images en niveaux de gris, impliquant deux séries de 24 images. Il décrit le développement d'un programme pour traiter ces images en parallèle sur deux cœurs logiques, en calculant la moyenne et l'écart-type des valeurs des pixels, ainsi qu'en appliquant un seuillage. Des questions sont posées sur l'implémentation du code parallèle et l'impact de l'ajout de la clause nowait sur les performances.

Transféré par

mohamedammar.bellah
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

2ISEOC Institut Supérieur d’Informatique

Exercice 5 : analyse et traitement d’images

On se propose d’analyser et de traiter deux séries de N images chacune (N=24). Les images
sont considérées aux niveaux de gris. Une image aux niveaux de gris consiste à une matrice
2D [L][C] avec L=1152 et C=2048.

On suppose qu’on dispose de deux cœurs logiques (threads) sur notre plateforme cible.

Le programme à développer permet de :

- définir deux tableaux de matrices de taille N. Les différentes valeurs des matrices sont
définies aléatoirement entre 0 et 255.

- effectuer le traitement du premier tableau en parallèle avec l’affichage du message « thread


n°… : bonjour de la 1ere section ».

- effectuer le traitement du second tableau en parallèle avec l’affichage du message « thread


n°… : bonjour de la 2eme section ».

Le traitement des matrices consiste à :

- afficher le message « thread n°… : traitement de la 1ere série d’images ».

- calculer la moyenne des différentes valeurs de chaque matrice et la stocker dans une case
d’un tableau de taille N (tableau qui va contenir les moyennes de toutes les matrices). La
moyenne permet de définir la luminosité de l’image.

- calculer les écart-types des images selon la formule suivante et les stocker dans un tableau
de taille N. L’écart-type permet de définir le constraste de l’image (quantifier les écarts par
rapport à la moyenne).

1
𝐶 𝑀 𝑖, 𝑗 𝑀𝑜𝑦
𝐿. 𝐶

-réaliser le seuillage de l’image. Le seuillage permet de transformer une image aux niveaux de
gris à une image dont les valeurs de pixels ne peuvent avoir que les valeurs 255 (blanc) ou 0
(noir). Le seuil est égale à 123.

1. Proposer le code parallèle correspondant et mesurer le temps d’exécution.


2. comment peut-on rajouter la clause nowait et aura elle des conséquences significatives
sur les performances du code ?

Vous aimerez peut-être aussi