在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()函数接受三个参数,分别是要旋转的图片、旋转矩阵和目标图片大小。