温馨提示×

opencv怎么实现图片缩放和旋转

小亿
107
2023-12-01 13:02:23
栏目: 编程语言

在OpenCV中,可以使用cv2.resize()函数来实现图片的缩放操作。该函数接受两个参数,第一个参数是要缩放的图片,第二个参数是目标图片的大小。可以通过设置第二个参数来确定缩放后的图片大小。

例如,将一张图片缩小为原来的一半大小:

import cv2

# 读取图片
img = cv2.imread('image.jpg')

# 缩放图片
resized_img = cv2.resize(img, (img.shape[1] // 2, img.shape[0] // 2))

# 显示原始图片和缩放后的图片
cv2.imshow('Original Image', img)
cv2.imshow('Resized Image', resized_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

另外,可以使用cv2.getRotationMatrix2D()函数来创建一个旋转矩阵,然后使用cv2.warpAffine()函数来对图片进行旋转操作。

例如,将一张图片逆时针旋转90度:

import cv2
import numpy as np

# 读取图片
img = cv2.imread('image.jpg')

# 获取旋转矩阵
M = cv2.getRotationMatrix2D((img.shape[1] // 2, img.shape[0] // 2), 90, 1)

# 旋转图片
rotated_img = cv2.warpAffine(img, M, (img.shape[1], img.shape[0]))

# 显示原始图片和旋转后的图片
cv2.imshow('Original Image', img)
cv2.imshow('Rotated Image', rotated_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

以上代码中,getRotationMatrix2D()函数接受三个参数,分别是旋转中心坐标、旋转角度和缩放因子。warpAffine()函数接受三个参数,分别是要旋转的图片、旋转矩阵和目标图片大小。

0