Maison >développement back-end >Tutoriel Python >Exemples de vision par ordinateur en Python : transformation d'image
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
rrreee
Dans cet exemple, nous utilisons la fonctioncv2.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!