Retourner l'image dans MATLAB

Ammar Ali 15 février 2024
  1. Retournez une image à l’aide de la fonction flip() dans MATLAB
  2. Retourner une image à l’aide de la manipulation matricielle dans MATLAB
Retourner l'image dans MATLAB

Ce tutoriel abordera le retournement d’une image verticalement à l’aide de la fonction flip() dans Matlab.

Retournez une image à l’aide de la fonction flip() dans MATLAB

Les images sont composées de pixels. Par exemple, si vous avez une image de 200 par 200 pixels, cela signifie qu’il y a 200 pixels sur l’axe vertical et 200 pixels sur l’axe horizontal. Nous devons lire et stocker l’image dans Matlab à l’aide de la fonction imread(). Il sera stocké dans une matrice, et chaque élément de la matrice est la valeur de chaque pixel de l’image. Pour retourner verticalement l’image, nous devons changer la position des pixels. Par exemple, la dernière ligne de la matrice deviendra la première ligne et la première qui deviendra la dernière ligne, et ainsi de suite. Nous pouvons utiliser la fonction intégrée de Matlab flip() pour retourner une image ou une matrice. Par exemple, retournons une image à l’aide de la fonction flip() dans Matlab et affichons-la sur le même tracé en utilisant les fonctions subplot() et imshow(). Voir le code ci-dessous.

img = imread('cat.jpg');
img2 = flip(img);
subplot(1,2,1)
imshow(img)
title('Original Image')
subplot(1,2,2)
imshow(img2)
title('Flipped Image')

Production:

Image retournée à l’aide de la fonction flip() dans matlab

Comme vous pouvez le voir dans la sortie ci-dessus, l’image est retournée verticalement. Si nous voulons retourner l’image horizontalement, nous devons ajouter un deuxième argument dans la fonction flip(), la dimension de la matrice flip(img, 2). Par exemple, dans la sortie ci-dessus, nous avons inversé la matrice par colonne pour expliquer pourquoi l’image est inversée verticalement, mais si nous voulons retourner l’image horizontalement, nous devons retourner la matrice par ligne. Dans Matlab, la première dimension d’une matrice est sa colonne et la deuxième dimension est ses lignes. Donc, pour retourner l’image, nous devons passer la dimension comme deuxième argument dans la fonction flip(). Par défaut, la fonction flip() retournera la matrice en utilisant la première dimension, qui est la colonne. Certaines images ont également une troisième dimension qui contient les couleurs de l’image. Si nous retournons la troisième dimension, l’image ne basculera pas, mais les couleurs de l’image seront inversées ou modifiées.

Retourner une image à l’aide de la manipulation matricielle dans MATLAB

Nous pouvons également retourner une matrice en utilisant la manipulation de matrice dans Matlab. Par exemple, si nous voulons retourner une image en utilisant la manipulation Matrix au lieu de la fonction flip(), nous devons changer la fonction flip(img) dans le code ci-dessus avec le code img(end:-1:1,:,:). Dans ce code, nous avons modifié la position des entrées de colonne et les deux autres dimensions resteront les mêmes. Nous avons utilisé les deux points comme deuxième et troisième arguments afin que les deuxième et troisième dimensions restent les mêmes. On peut aussi changer la deuxième dimension. Par exemple, retournons l’image ci-dessus verticalement et horizontalement en utilisant la manipulation matricielle dans Matlab. Voir le code ci-dessous.

img = imread('cat.jpg');
img2 = img(end:-1:1,end:-1:1,:);
subplot(1,2,1)
imshow(img)
title('Original Image')
subplot(1,2,2)
imshow(img2)
title('Flipped Image')

Production:

Retournement d’image à l’aide de la manipulation matricielle

Comme vous pouvez le voir dans la sortie ci-dessus, l’image est retournée verticalement et horizontalement. Nous ne pouvons inverser qu’une dimension à la fois en utilisant la fonction flip(), mais nous pouvons inverser plusieurs dimensions en utilisant la manipulation matricielle. Nous pouvons également retourner une matrice en utilisant une boucle dans Matlab.

Auteur: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Article connexe - MATLAB Image