Recadrage d’images#

Lorsqu’on travaille avec des images de microscopie, il est souvent peu pertinent de traiter l’image entière. Nous recadrons généralement les régions intéressantes et les traitons en détail.

from skimage.io import imread, imshow
image = imread("../../data/blobs.tif")

Avant de pouvoir recadrer une image, nous pouvons vouloir connaître sa forme précise (dimensions) :

image.shape
(254, 256)

Rappel : Visualisation en utilisant imshow :

imshow(image)
<matplotlib.image.AxesImage at 0x2448a01e9d0>
../_images/9a8c839dc0acff2ba809f86a23468055d8bdd1640593ff51f6da4c23eaeaaa5e.png

Le recadrage des images fonctionne exactement comme le découpage des listes et des tuples, en utilisant des indices pour spécifier la plage d’éléments à utiliser :

cropped_image1 = image[0:128]

imshow(cropped_image1);
../_images/166eed5c1c0ee8fe248cd58b80a3ba6890fe8f13143de5e8c646a1a7a0ab4b6e.png
mylist = [1,2,2,3,4,5,78]

Pour recadrer l’image dans la deuxième dimension également, nous ajoutons une , dans les crochets :

cropped_image2 = image[0:128, 128:]

imshow(cropped_image2);
../_images/6984d54e12d0cfc03d33deacd59308e9501822d4506d7273fd2bebfca85d82e3.png

Sous-échantillonnage d’images#

On peut également spécifier des tailles de pas comme si nous traitions des listes et des tuples. Techniquement, nous sous-échantillonnons l’image dans ce cas. Nous échantillonnons un sous-ensemble des pixels originaux, par exemple par pas de 5 :

sampled_image = image[::5, ::5]

imshow(sampled_image);
../_images/9acacd83d855db9ff4df52fe458641d10f4ceb657e208677466e538cfd68ad56.png

Retournement d’images#

Des tailles de pas négatives retournent l’image.

flipped_image = image[::, ::-1]

imshow(flipped_image);
../_images/9975815040af600d91ec3649a4a64b2ef821164b2b1d7babdd7702cfab6e38c0.png

Exercice#

Ouvrez le jeu de données banana020.tif et recadrez la région où se trouve la tranche de banane.