21xrx.com
2024-12-22 18:26:26 Sunday
登录
文章检索 我的文章 写文章
OpenCV实现图像旋转
2023-08-15 01:33:43 深夜i     --     --
OpenCV 图像 旋转

OpenCV是一种开源的计算机视觉库,广泛应用于图像处理和计算机视觉领域。它提供了许多功能强大且灵活的算法,用于处理图像和视频。其中一个常见的应用是图像旋转,可以通过OpenCV的库函数轻松实现。

图像旋转是将图像沿着指定的旋转中心点旋转一定角度的过程。旋转可以通过变换图像的像素坐标来实现,这可以通过几何转换和线性代数方法来实现。幸运的是,OpenCV库提供了一个方便的函数cv2.rotate(),可以在这个问题上帮助我们。

要使用OpenCV进行图像旋转,我们需要给定输入图像和旋转角度。可以将旋转角度用正数表示顺时针旋转,或用负数表示逆时针旋转。然后,我们需要指定旋转中心点,通常是图像的中心。最后,我们还可以指定旋转后的输出图像的尺寸。

以下是一个使用OpenCV实现图像旋转的示例代码:

 python

import cv2

# 读取输入图像

input_image = cv2.imread('input.jpg')

# 设置旋转角度(顺时针为正,逆时针为负)

angle = 45

# 计算输入图像的中心点

height, width = input_image.shape[:2]

center = (width // 2, height // 2)

# 设置缩放比例(可选)

scale = 1.0

# 构建旋转矩阵

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

# 执行图像旋转

output_image = cv2.warpAffine(input_image, rotation_matrix, (width, height))

# 显示输入和旋转后的图像

cv2.imshow('Input Image', input_image)

cv2.imshow('Rotated Image', output_image)

cv2.waitKey(0)

cv2.destroyAllWindows()

在这个代码中,我们首先读取输入图像,并指定旋转角度为45度。然后,计算输入图像的中心点,并设置缩放比例为1.0(可选)。接下来,使用cv2.getRotationMatrix2D()函数构建旋转矩阵,该函数需要指定中心点、旋转角度和缩放比例作为参数。最后,使用cv2.warpAffine()函数执行图像旋转,并将结果保存在output_image中。最后,我们将输入和旋转后的图像显示出来。

通过这种简单的方法,我们就可以使用OpenCV实现图像旋转。这个功能在许多应用场景中非常有用,例如图像增强、目标检测和图像配准。OpenCV的强大功能和易用性使得它成为图像处理和计算机视觉领域的首选工具之一。

  
  

评论区

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