Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Transformations de Base | Traitement d'Images avec OpenCV
Principes Fondamentaux de la Vision par Ordinateur

bookTransformations de Base

Note
Définition

OpenCV (Open Source Computer Vision Library) est une bibliothèque open source puissante conçue pour la vision par ordinateur et le traitement d'image en temps réel. Elle fournit des outils pour manipuler des images, détecter des objets et même travailler avec des modèles d'apprentissage profond.

Lecture et affichage d'une image

Avant d'effectuer des transformations, il convient d'abord de charger et d'afficher une image à l'aide d'OpenCV. La photo a déjà été importée. Mais sur votre ordinateur local, pour une lecture et un affichage simples de la photo, il faut utiliser :

import cv2

image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)

Redimensionnement d'une image

Le redimensionnement est utile pour agrandir ou réduire les images tout en conservant le rapport d'aspect (paramètres fx et fy), où fx et fy définissent le facteur d'échelle pour la largeur et la hauteur.

resized_image = cv2.resize(image, fx=0.7, fy=0.5)

Vous pouvez également spécifier des dimensions exactes en pixels (paramètre dsize), où dsize correspond à la forme de sortie (new_y, new_x).

resized = cv2.resize(image, (100, 100))

Rotation d'une image

Pour effectuer une rotation d'une image selon un angle spécifique, utiliser cv2.getRotationMatrix2D() et cv2.warpAffine().

  • cv2.getRotationMatrix2D(center, angle, scale) définit la matrice de rotation ;
  • cv2.warpAffine(image, matrix, output_size) applique la transformation.
height, width = image.shape[:2]
centre = (width // 2, height // 2)

rotation_matrix = cv2.getRotationMatrix2D(centre, 180, 1)
rotated = cv2.warpAffine(image, rotation_matrix, (width, height))

Recadrage d'une image

Le recadrage extrait une région spécifique d'une image. Cette opération s'effectue à l'aide du découpage NumPy. La syntaxe image[start_y:end_y, start_x:end_x] sélectionne une région d'intérêt.

cropped = image[450:500, 250:350]
Tâche

Swipe to start coding

Vous disposez d'une image :

  • Redimensionner l'image à une taille de (100, 100) et la stocker dans la variable resized ;
  • Extraire la height et la width de l'image ;
  • Calculer le center à partir de la height et de la width ;
  • Créer une matrice de rotation et la stocker dans la variable rotation_matrix ;
  • Faire pivoter l'image de 90 degrés dans le sens horaire et la stocker dans la variable rotated ;
  • Rogner la région X : 250-600 et Y : 100-450 de l'image et la stocker dans la variable cropped.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 1
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain what each OpenCV function does in these examples?

How do I choose the right parameters for resizing or rotating an image?

Can you show more examples of image transformations?

close

Awesome!

Completion rate improved to 3.45

bookTransformations de Base

Glissez pour afficher le menu

Note
Définition

OpenCV (Open Source Computer Vision Library) est une bibliothèque open source puissante conçue pour la vision par ordinateur et le traitement d'image en temps réel. Elle fournit des outils pour manipuler des images, détecter des objets et même travailler avec des modèles d'apprentissage profond.

Lecture et affichage d'une image

Avant d'effectuer des transformations, il convient d'abord de charger et d'afficher une image à l'aide d'OpenCV. La photo a déjà été importée. Mais sur votre ordinateur local, pour une lecture et un affichage simples de la photo, il faut utiliser :

import cv2

image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)

Redimensionnement d'une image

Le redimensionnement est utile pour agrandir ou réduire les images tout en conservant le rapport d'aspect (paramètres fx et fy), où fx et fy définissent le facteur d'échelle pour la largeur et la hauteur.

resized_image = cv2.resize(image, fx=0.7, fy=0.5)

Vous pouvez également spécifier des dimensions exactes en pixels (paramètre dsize), où dsize correspond à la forme de sortie (new_y, new_x).

resized = cv2.resize(image, (100, 100))

Rotation d'une image

Pour effectuer une rotation d'une image selon un angle spécifique, utiliser cv2.getRotationMatrix2D() et cv2.warpAffine().

  • cv2.getRotationMatrix2D(center, angle, scale) définit la matrice de rotation ;
  • cv2.warpAffine(image, matrix, output_size) applique la transformation.
height, width = image.shape[:2]
centre = (width // 2, height // 2)

rotation_matrix = cv2.getRotationMatrix2D(centre, 180, 1)
rotated = cv2.warpAffine(image, rotation_matrix, (width, height))

Recadrage d'une image

Le recadrage extrait une région spécifique d'une image. Cette opération s'effectue à l'aide du découpage NumPy. La syntaxe image[start_y:end_y, start_x:end_x] sélectionne une région d'intérêt.

cropped = image[450:500, 250:350]
Tâche

Swipe to start coding

Vous disposez d'une image :

  • Redimensionner l'image à une taille de (100, 100) et la stocker dans la variable resized ;
  • Extraire la height et la width de l'image ;
  • Calculer le center à partir de la height et de la width ;
  • Créer une matrice de rotation et la stocker dans la variable rotation_matrix ;
  • Faire pivoter l'image de 90 degrés dans le sens horaire et la stocker dans la variable rotated ;
  • Rogner la région X : 250-600 et Y : 100-450 de l'image et la stocker dans la variable cropped.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 1
single

single

some-alt