21xrx.com
2024-12-22 16:27:48 Sunday
登录
文章检索 我的文章 写文章
Python OpenCV 图像旋转
2023-10-01 09:26:45 深夜i     --     --
Python OpenCV 图像 旋转

Python OpenCV是一个开源的计算机视觉库,可以帮助我们处理图像和视频。其中一个常见的图像处理操作是图像旋转。在本文中,我们将学习如何使用Python OpenCV来旋转图像。

要旋转图像,我们首先需要加载图像。可以使用cv2.imread()函数来加载图像。该函数将返回一个NumPy数组,其中包含图像的像素数据。

python

import cv2

# 加载图像

image = cv2.imread('image.jpg')

加载图像后,我们可以使用cv2.imshow()函数显示图像。该函数将创建一个窗口并将图像显示在其中。

python

# 显示图像

cv2.imshow('Original Image', image)

在显示图像之后,我们可以通过调用cv2.waitKey()等待用户按下键盘上的任意键来暂停程序的执行。

python

# 暂停程序执行,等待用户按下任意键

cv2.waitKey(0)

下一步是旋转图像。可以使用cv2.getRotationMatrix2D()函数来获取旋转矩阵。该函数需要三个参数:旋转中心,旋转角度和缩放因子。

python

# 旋转图像

center = (image.shape[1] // 2, image.shape[0] // 2) # 计算图像的中心点坐标

angle = 45 # 旋转角度,正值代表逆时针旋转

scale = 1.0 # 缩放因子

rotation_matrix = cv2.getRotationMatrix2D(center, angle, scale)

得到旋转矩阵后,我们可以使用cv2.warpAffine()函数来应用旋转矩阵。该函数将返回一个旋转后的图像。

python

# 应用旋转矩阵

rotated_image = cv2.warpAffine(image, rotation_matrix, (image.shape[1], image.shape[0]))

最后,我们可以使用cv2.imshow()函数显示旋转后的图像。

python

# 显示旋转后的图像

cv2.imshow('Rotated Image', rotated_image)

cv2.waitKey(0)

完整的代码如下所示:

python

import cv2

# 加载图像

image = cv2.imread('image.jpg')

# 显示图像

cv2.imshow('Original Image', image)

cv2.waitKey(0)

# 旋转图像

center = (image.shape[1] // 2, image.shape[0] // 2)

angle = 45

scale = 1.0

rotation_matrix = cv2.getRotationMatrix2D(center, angle, scale)

# 应用旋转矩阵

rotated_image = cv2.warpAffine(image, rotation_matrix, (image.shape[1], image.shape[0]))

# 显示旋转后的图像

cv2.imshow('Rotated Image', rotated_image)

cv2.waitKey(0)

这就是使用Python OpenCV旋转图像的基本过程。通过调整旋转中心、旋转角度和缩放因子,我们可以轻松地实现图像的旋转。这对于图像处理和计算机视觉领域的应用非常有用。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复