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