Maison >développement back-end >Tutoriel Python >Exemples de vision par ordinateur en Python : transformation d'image

Exemples de vision par ordinateur en Python : transformation d'image

WBOY
WBOYoriginal
2023-06-10 09:04:431250parcourir

Avec le développement continu de la technologie informatique moderne, la technologie de vision par ordinateur est devenue l'une des branches importantes du traitement d'images numériques et de l'infographie. La technologie de vision par ordinateur peut traiter et analyser les images afin que les utilisateurs puissent obtenir des informations et effectuer les tâches cibles. Dans cet article, nous explorerons quelques exemples de vision par ordinateur écrits en Python, en particulier les transformations d'images. Nous aborderons certaines méthodes courantes de transformation d'image, telles que la rotation, la mise à l'échelle, le recadrage, le retournement, etc.

Tout d'abord, voyons comment implémenter la fonction de rotation d'image en Python. La rotation est une technique de transformation d'image couramment utilisée. En Python, nous pouvons utiliser OpenCV pour réaliser la rotation d'image. OpenCV est une puissante bibliothèque de vision par ordinateur dotée de nombreuses fonctions pratiques et faciles à utiliser qui peuvent facilement traiter et analyser des images. Ce qui suit est un exemple de code Python simple qui montre comment utiliser OpenCV pour implémenter la rotation d'image :

import cv2

# 读取图像
image = cv2.imread('image.jpg')

# 图像旋转
(h, w) = image.shape[:2]
center = (w // 2, h // 2)
M = cv2.getRotationMatrix2D(center, 45, 1.0)
image = cv2.warpAffine(image, M, (w, h))

# 显示图像
cv2.imshow('Rotated Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

Dans cet exemple, nous lisons d'abord l'entrée à l'aide de la fonction cv2.imread image. Ensuite, nous utilisons la fonction cv2.getRotationMatrix2D pour définir la matrice de rotation. Cette fonction doit transmettre trois paramètres : le centre de rotation, l'angle de rotation et le rapport de mise à l'échelle. Enfin, nous utilisons la fonction cv2.warpAffine pour faire pivoter l'image. Cette fonction doit transmettre trois paramètres : l'image d'entrée, la matrice de transformation et la taille de l'image de sortie. Après avoir traité l'image, nous utilisons la fonction cv2.imshow pour afficher l'image pivotée, puis utilisons la fonction cv2.waitKey pour attendre que l'utilisateur appuie sur la touche, et enfin utilisons Fonction cv2 .destroyAllWindows pour fermer toutes les fenêtres. cv2.imread函数读取输入图像。接着,我们使用cv2.getRotationMatrix2D函数定义旋转矩阵。该函数需要传入三个参数:旋转中心、旋转角度和缩放比例。最后,我们使用cv2.warpAffine函数来对图像进行旋转变换。该函数需要传入三个参数:输入图像、变换矩阵和输出图像大小。在处理完图像之后,我们使用cv2.imshow函数来显示旋转后的图像,然后使用cv2.waitKey函数等待用户的按键,最后使用cv2.destroyAllWindows函数来关闭所有的窗口。

接下来,让我们来看一下如何利用Python实现图像缩放功能。缩放是一种非常重要的图像变换技术,它可以将一张图像变得更小或更大。在Python中,我们同样可以使用OpenCV来实现图像的缩放。以下是一个简单的Python代码示例,演示了如何使用OpenCV来实现图像缩放:

import cv2

# 读取图像
image = cv2.imread('image.jpg')

# 图像缩放
scale_percent = 50
width = int(image.shape[1] * scale_percent / 100)
height = int(image.shape[0] * scale_percent / 100)
dim = (width, height)
image = cv2.resize(image, dim, interpolation = cv2.INTER_AREA)

# 显示图像
cv2.imshow('Resized Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这个例子中,我们使用cv2.imread函数读取输入图像。接着,我们定义一个缩放比例,然后根据该比例计算新图像的宽度和高度。最后,我们使用cv2.resize函数来对图像进行缩放变换。该函数需要传入三个参数:输入图像、新图像大小和插值方法。在处理完图像之后,我们使用cv2.imshow函数来显示缩放后的图像,然后使用cv2.waitKey函数等待用户的按键,最后使用cv2.destroyAllWindows

Ensuite, voyons comment utiliser Python pour implémenter la fonction de mise à l'échelle d'image. La mise à l'échelle est une technique de transformation d'image très importante qui peut réduire ou agrandir une image. En Python, nous pouvons également utiliser OpenCV pour réaliser la mise à l'échelle des images. Ce qui suit est un exemple de code Python simple qui montre comment utiliser OpenCV pour implémenter la mise à l'échelle d'image :

rrreee

Dans cet exemple, nous utilisons la fonction cv2.imread pour lire l'entrée. image . Ensuite, nous définissons un rapport de mise à l'échelle et calculons la largeur et la hauteur de la nouvelle image en fonction de ce rapport. Enfin, nous utilisons la fonction cv2.resize pour redimensionner l'image. Cette fonction nécessite trois paramètres : l'image d'entrée, la nouvelle taille de l'image et la méthode d'interpolation. Après avoir traité l'image, nous utilisons la fonction cv2.imshow pour afficher l'image mise à l'échelle, puis utilisons la fonction cv2.waitKey pour attendre que l'utilisateur appuie sur la touche, et enfin utilisons Fonction cv2 .destroyAllWindows pour fermer toutes les fenêtres. #🎜🎜##🎜🎜#En plus de la rotation et de la mise à l'échelle de l'image, Python peut également implémenter de nombreuses autres fonctions de transformation d'image, telles que le recadrage, le retournement, l'affine, etc. Ces technologies de transformation d’images peuvent être largement utilisées dans le domaine de la vision par ordinateur, comme le traitement d’images, l’infographie, l’apprentissage automatique, etc. En apprenant des exemples de vision par ordinateur en Python, nous pouvons acquérir une compréhension plus approfondie des principes et des méthodes de transformation d'images et jeter une bonne base pour les travaux futurs. #🎜🎜#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn