使用Python的Scale()函数对图像进行大小调整和角度旋转
发布时间:2024-01-04 02:41:12
Scale()函数是Python图像处理库OpenCV中的一个函数,用于调整图像的大小和旋转角度。
Scale()函数可以实现图像的缩放功能。它接受两个参数,一个是输入图像,另一个是缩放因子。缩放因子是一个浮点数,表示对图像进行放大(大于1)或缩小(小于1)的比例。具体代码如下所示:
import cv2
img = cv2.imread('input.jpg') # 读取图像
scale_factor = 0.5 # 缩放因子
new_img = cv2.resize(img, None, fx=scale_factor, fy=scale_factor) # 调用resize()函数进行缩放
cv2.imwrite('output.jpg', new_img) # 保存调整后的图像
上述代码中,我们首先使用cv2.imread()函数读取了一张名为"input.jpg"的输入图像。然后定义了一个缩放因子为0.5,表示将图像缩小为原来的一半。接下来,我们调用cv2.resize()函数对图像进行缩放处理,并将结果保存为"output.jpg"。
Scale()函数也可以实现图像的旋转功能。它接受三个参数,一个是输入图像,另两个是旋转中心和旋转角度。旋转中心是一个元组,表示旋转的中心点坐标;旋转角度是一个浮点数,表示要旋转的角度(以逆时针方向为正)。具体代码如下所示:
import cv2
import numpy as np
img = cv2.imread('input.jpg') # 读取图像
rotate_angle = 45 # 旋转角度
rows, cols, _ = img.shape # 获得图像的行数、列数和通道数
# 计算旋转矩阵
M = cv2.getRotationMatrix2D((cols/2, rows/2), rotate_angle, 1)
# 进行图像旋转
new_img = cv2.warpAffine(img, M, (cols, rows))
cv2.imwrite('output.jpg', new_img) # 保存旋转后的图像
上述代码中,我们首先使用cv2.imread()函数读取了一张名为"input.jpg"的输入图像。然后定义了一个旋转角度为45度。接下来,我们计算了一个旋转矩阵M,该矩阵用于将图像绕其宽度和高度的中心点进行旋转。最后,我们使用cv2.warpAffine()函数对图像进行旋转处理,并将结果保存为"output.jpg"。
使用Scale()函数可以方便地对图像进行大小调整和角度旋转。通过设置不同的缩放因子和旋转角度,可以实现对图像的各种不同处理。比如,可以将图像放大或缩小到指定尺寸,或者将图像旋转一定角度,以适应不同的应用场景。
