21xrx.com
2024-06-02 22:26:27 Sunday
登录
文章检索 我的文章 写文章
OpenCV图像旋转方法和示例
2023-08-10 01:59:23 深夜i     --     --
OpenCV 图像旋转 方法 示例 旋转角度

OpenCV是一个强大的计算机视觉库,很多图像处理任务都可以用它来完成。其中一项常见的任务是图像旋转,即将图像按一定角度进行旋转。本文将介绍OpenCV中常用的图像旋转方法和示例。

在OpenCV中,有两种主要的图像旋转方法:通过仿射变换和通过直接旋转。

首先,我们来看一下通过仿射变换实现图像旋转的方法。对于这种方法,我们需要定义旋转的角度和旋转中心点。具体来说,我们需要使用`cv2.getRotationMatrix2D(center, angle, scale)`函数来获得旋转矩阵,其中`center`是旋转中心坐标,`angle`是旋转角度,`scale`是旋转后图像的缩放比例。然后,我们可以使用`cv2.warpAffine(src, M, dsize)`函数将旋转矩阵应用到图像上,得到旋转后的图像。

以下是一个示例,展示了如何使用仿射变换实现图像旋转:

python

import cv2

import numpy as np

# 读取图像

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

# 获取图像宽高

height, width = img.shape[:2]

# 定义旋转角度和旋转中心点

angle = 45

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

# 获得旋转矩阵

M = cv2.getRotationMatrix2D(center, angle, 1)

# 应用旋转矩阵

rotated_img = cv2.warpAffine(img, M, (width, height))

cv2.imshow('Original Image', img)

cv2.imshow('Rotated Image', rotated_img)

cv2.waitKey(0)

cv2.destroyAllWindows()

另一种图像旋转的方法是通过直接旋转。这种方法比较简单,只需要指定旋转角度即可。在OpenCV中,我们可以使用`cv2.rotate(src, rotateCode)`函数来实现直接旋转。其中`src`是输入图像,`rotateCode`是旋转方向的代码。例如,将`rotateCode`设置为0表示逆时针旋转90度,设置为1表示顺时针旋转90度。

以下是一个示例,展示了如何使用直接旋转方法实现图像旋转:

python

import cv2

# 读取图像

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

# 逆时针旋转90度

rotated_img = cv2.rotate(img, 0)

cv2.imshow('Original Image', img)

cv2.imshow('Rotated Image', rotated_img)

cv2.waitKey(0)

cv2.destroyAllWindows()

以上就是OpenCV中图像旋转的两种常用方法和示例。无论是通过仿射变换还是直接旋转,OpenCV都能够快速方便地完成图像旋转任务。通过学习这些方法,我们可以在图像处理中灵活运用旋转技术,实现更加丰富多样的图像处理效果。

  
  

评论区

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