opencv图像旋转(opencv图像旋转有一部分没有)

简介

图像旋转是在计算机视觉和图像处理中常用的操作。它涉及将图像围绕给定中心点旋转指定角度。OpenCV 提供了多种函数来方便地执行图像旋转。

RotatedRect 类

RotatedRect 类表示旋转矩形。它包含以下成员变量:

center:

矩形的中心点

size:

矩形的尺寸(宽度和高度)

angle:

矩形相对于水平轴的旋转角度(以度为单位)

旋转函数

OpenCV 提供了几个函数来执行图像旋转:

cv2.getRotationMatrix2D(center, angle, scale):

计算旋转矩阵,该矩阵将图像旋转给定的角度和缩放比例。

cv2.warpAffine(img, M, dsize):

使用仿射变换旋转图像,其中 M 是旋转矩阵,dsize 是输出图像的尺寸。

cv2.rotate:

围绕图像中心旋转图像指定角度(以度为单位)。

示例代码

以下示例代码展示了如何使用 OpenCV 旋转图像:```python import cv2# 读取图像 img = cv2.imread('image.jpg')# 计算旋转矩阵 M = cv2.getRotationMatrix2D((img.shape[1] / 2, img.shape[0] / 2), 45, 1.0)# 旋转图像 rotated_img = cv2.warpAffine(img, M, (img.shape[1], img.shape[0]))# 显示旋转后的图像 cv2.imshow('Rotated Image', rotated_img) cv2.waitKey(0) cv2.destroyAllWindows() ```

适用于不同场景的旋转类型

OpenCV 提供了不同类型的旋转,适用于特定场景:

仿射变换 (cv2.warpAffine):

用于一般旋转和变形。

旋转 (cv2.rotate):

用于简单的图像旋转(围绕中心点)。

透视变换 (cv2.warpPerspective):

用于更复杂的透视校正。

结论

OpenCV 提供了全面的函数集来处理图像旋转。通过理解 RotatedRect 类和不同的旋转函数,可以轻松地旋转图像以满足各种计算机视觉和图像处理需求。

标签列表