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

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!