21xrx.com
2024-12-14 23:42:40 Saturday
登录
文章检索 我的文章 写文章
OpenCV实现图片缩放和旋转
2024-05-19 18:12:51 深夜i     --     --
OpenCV 图片缩放 图片旋转

OpenCV是一个开源的计算机视觉库,它提供了丰富的功能,使我们能够在图像处理和计算机视觉方面进行各种操作。其中,实现图像缩放和旋转是使用OpenCV最常见的操作之一。本文将介绍如何使用OpenCV来实现图片的缩放和旋转。

首先,我们需要安装OpenCV库。在Python中,可以使用pip来安装OpenCV。在命令行中输入以下命令来安装OpenCV:


pip install opencv-python

安装完成后,我们可以开始编写代码来实现图像缩放和旋转。

首先,我们来实现图像的缩放功能。在OpenCV中,可以使用resize方法来实现图像的缩放操作。以下是一个简单的代码示例,用于将图像缩小一半:


import cv2

# 读取图像

image = cv2.imread("input.jpg")

# 获取图像的宽度和高度

height, width = image.shape[:2]

# 设置缩放比例

scale = 0.5

# 计算缩放后的大小

new_width = int(width * scale)

new_height = int(height * scale)

# 缩放图像

new_image = cv2.resize(image, (new_width, new_height))

# 显示缩放后的图像

cv2.imshow("Scaled Image", new_image)

cv2.waitKey(0)

cv2.destroyAllWindows()

上述代码首先使用`cv2.imread`方法读取原始图像。然后,通过`image.shape`获取图像的宽度和高度。接下来,我们设置缩放比例,并计算出缩放后的图像大小。最后,使用`cv2.resize`方法来缩放图像,并使用`cv2.imshow`来显示缩放后的图像。按下任意键关闭显示窗口。

接下来,我们来实现图像的旋转功能。在OpenCV中,可以使用`getRotationMatrix2D`和`warpAffine`函数来实现图像的旋转操作。以下是一个简单的代码示例,用于将图像旋转90度:


import cv2

# 读取图像

image = cv2.imread("input.jpg")

# 获取图像的宽度和高度

height, width = image.shape[:2]

# 计算图像的旋转中心

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

# 设置旋转角度

angle = 90

# 计算旋转矩阵

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

# 旋转图像

new_image = cv2.warpAffine(image, rotation_matrix, (width, height))

# 显示旋转后的图像

cv2.imshow("Rotated Image", new_image)

cv2.waitKey(0)

cv2.destroyAllWindows()

以上代码首先使用`cv2.imread`方法读取原始图像。然后,通过`image.shape`获取图像的宽度和高度。接下来,我们计算图像的旋转中心,并设置旋转角度。使用`cv2.getRotationMatrix2D`计算出旋转矩阵。最后,使用`cv2.warpAffine`函数进行图像旋转,并使用`cv2.imshow`来显示旋转后的图像。按下任意键关闭显示窗口。

通过上述代码示例,我们可以看到,使用OpenCV实现图像缩放和旋转是非常简单的。OpenCV提供了丰富的方法和函数来处理图像,使我们能够快速进行各种图像处理操作。无论是缩放还是旋转,OpenCV都能帮助我们轻松实现。

  
  

评论区

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