• Aucun résultat trouvé

Tableaux à 2 dimensions, images

N/A
N/A
Protected

Academic year: 2022

Partager "Tableaux à 2 dimensions, images"

Copied!
2
0
0
En savoir plus ( Page)

Texte intégral

(1)

13

Tableaux à 2 dimensions, images

I. Les tableaux de Numpy

⋄ On rencontre souvent des données qui se représentent naturellement par des tableaux à 2 dimensions (matrices, images). On pourrait utiliser des listes de listes mais le module numpypropose une structure de données adaptées : la structurearray.

⋄ Cette structure permet de regrouper dans un tableau des éléments de même type (en généralint,floatoucomplex). Ce tableau peut avoir plusieurs dimensions mais on rencon- trera uniquement deux cas : des tableaux à 1 dimension (analogue mathématique : vec- teurs deRn ouCn) ou 2 dimensions (analogue mathématiques : matrices deMnp(R) ou Mnp(C)).

⋄ Construction et découpage :

>>> import numpy as np

>>> x=np.array([1,2,3])

>>> x[1]

2

>>> A=np.array([[1,2],[3,4]])

>>> A[1,1]

4

>>> A[1,:]

array([3, 4])

>>> A[:,1]

array([2, 4])

>>> B=np.zeros((2,3))

>>> np.random.randint(0,6,7)

array([0, 1, 4, 3, 5, 4, 1])

⋄ Quelques exemples d’opérations :

>>> import numpy as np

>>> A=np.array([[1,2],[3,4]])

>>> np.floor(np.sqrt(A))

array([[ 1., 1.], [ 1., 2.]])

>>> A*A

array([[ 1, 4], [ 9, 16]])

>>> A**2

array([[ 1, 4], [ 9, 16]])

>>> A+1

array([[2, 3], [4, 5]])

Remarque.Le modulenumpypropose des versions spécifiques des fonctions usuelles qui peuvent travailler sur des tableaux (np.sin,np.exp, etc.).

(2)

B • Dans unarray(contrairement aux listes) tous les éléments doivent être du même type, en généralintoufloat;

• Lesarrayde typeintpeuvent avoir un comportement étrange : on les évitera en uti- lisant une commande du type :

>>> import numpy as np

>>> A=np.array([[1,2],[3,4]],float)

II. Application : traitement d’images

⋄ On dispose d’un tableau A de taille n×m représentant une image en niveaux de gris : chaque coefficient deAest un nombre entier compris entre 0 (noir) et 255 (blanc).

⋄ Pour éclaircirA, on définit un nouveau tableauEtel que :E[i,j]=¥ 16p

A[i,j]¦ : E=np.floor(np.sqrt(A)*16)

⋄ On bruite l’image en ajoutant des valeurs aléatoires à la matriceA. On fait en sorte que les coefficients de la nouvelle matrice restent compris entre 0 et 255 :

B=np.clip(A+np.random.randint(-25,26,(n,m)),0,255)

⋄ Pour débruiter l’imageB, on crée une nouvelle imageDtelle queD[i,j] soit la moyenne des 9 valeurs deB situées autour deB[i,j] (pour simplifier, on garde les pixels au bord de Dnoirs) :

D=np.zeros((n,m))

for i in range(1,n-1):

for j in range(1,m-1):

D[i,j]=np.mean(B[i-1:i+2,j-1:j+2])

A E B D

Références

Documents relatifs

[r]

On règle ainsi la valeur de départ, le pas (par exemple le pas vaut 1 si on veut calculer les valeurs de 1 en 1, 2 si ou veut les calculer de 2 en 2...) et éventuellement la valeur

À l’aide du tableur et en utilisant uniquement les valeurs de la ligne 3 et de la cellule G5, calcule la valeur des angles pour la représentation de ces données sous forme

Sur route mouillée, cette distance de freinage est deux fois plus grande que sur route sèche à vitesse égale.. Recopie et complète le tableau à double

La deuxième partie du tableau de financement permet de vérifier le montant de la variation du FRNG telle qu’elle apparaît dans la première partie du document mais avec le

Exercice 2 (Somme des éléments d’une liste) Écrire une fonction somme_liste.. • d’argument L une liste d’expressions de type

• qui retourne True si les éléments de la liste L sont rangés dans l’ordre croissant (au sens strict) et False sinon. Exercice 2 (Présence d’une sous-liste dans une liste)

Si f est une fonction vectorielle d´ efinie sur un intervalle compact [a, b] de R , on appellera suite associ´ ee ` a f toute suite (ϕ n , θ n ) de couples de fonctions en escalier

Remarque 4.1 Si f, g sont deux fonctions num´ eriques ou vectorielles int´ egrables sur [a, b] et si leurs valeurs ne diff` erent qu’en un nombre fini de points de [a, b], leurs

La construction devient beaucoup plus compliqu´ee si l’on consid`ere des domaines U ⊂ R 2 qui ne sont plus des rectangles..

Ce tableau peut avoir plusieurs dimensions mais on rencon- trera uniquement deux cas : des tableaux à 1 dimension (analogue des vecteurs en mathé- matiques) ou 2 dimensions

 [3 ème ] savoir déterminer l'équation d'une droite connaissant deux de ses points, notamment savoir calculer un coefficient directeur..  [3 ème ]

S1[:,3] renverra le quatrième élément dans la deuxième dimension pour chaque valeur de l’indice de la première dimension (c'est-à-dire, la quatrième colonne du tableau vu comme

[r]

Écrire une fonction conversion_PNG_PBM(im, f) prenant en entrée une image au format PNG (dont les pixels sont blancs (255) ou noirs (0), et écrivant dans un fichier f ouvert en

 La recherche de l’élément minimum (et/ou maximum) dans une matrice et leurs positions (leurs indices de ligne et de colonne).  Tri d’une matrice (Ordre croissant

Notez que le résultat du calcul doit impérativement être du même type que celui indiqué lors de la déclaration de la fonction par son prototype (ligne 3)..

Sur route mouillée, cette distance de freinage est deux fois plus grande que sur route sèche à vitesse égale.. Recopie et complète le tableau à double

(a) ´ Ecrire un programme Python permettant de d´ eterminer le nombre de vecteurs propres de A dont les coefficients sont des entiers compris entre −10 et 10 (bornes incluses)2.

Écrivez une fonction corrige qui prenne en pa- ramètre cette liste et une phrase composée de mots séparés par des espaces, et qui renvoie la phrase avec l’orthographe corrigé..

La première est de définir une fonction split qui travaille avec un seul séparateur mais qui prend en entrée une liste de chaînes sur lesquelles elle applique split puis regroupe

– On ajoute un nouveau niveau d’énergie à chaque fois que l’on descend d’une case. – Ceci a comme conséquence de faire augmenter le rayon.. • Les électrons sont placés

CorelDRAW Graphics Suite 2021 vous permet de profiter des photos prises sur les téléphones portables avec la prise en charge du format HEIF (High Efficiency Image File).. De