何谓几何变换,将一幅图像映射到另一幅图像内的操作称为几何变换。
映射关系分为:缩放、翻转、仿射变换、透视、重映射。
缩放
函数名:cv2.resize()
语法格式:dst = cv2.resize(src , dsize [,fx[,fy[,interpolation]]])
参数名:dst:目标图像,类型与src一致,大小为dsize
src:原始图像 dsize:目标图像大小 fx:水平方向缩放比例 fy:垂直方向缩放比例 interpolation:插值方式
特别注意:1、优先通过dsize指定缩放、如果dsize=none 则通过参数fx、fy指定。2、缩小图像时,使用区域插值方式最好;放大图像时,三次样条插值和双线性插值效果较好。3、shape属性第一个参数对应行数,第二个参数对应列数;dsize参数与其相反。
import cv2
import numpy as np
jimin = cv2.imread("C:\\Users\\NNoisy\\Desktop\\Jimin.jpg")
# img.shape[:2] 取彩色图片的高、宽,如果img.shape[:3] 取彩色图片的高、宽、通道
rows , cols = jimin.shape[:2]
size = (int(cols*0.5),int(rows*0.5))
# 使用dsize进行缩放
rst1 = cv2.resize(jimin,size)
# 使用fx、fy参数进行缩放
rst2 = cv2.resize(jimin,None,fx = 0.5 , fy = 0.5)
cv2.imshow("jimin",jimin)
cv2.imshow("rst1",rst1)
cv2.imshow("rst2",rst2)
cv2.waitKey()
cv2.destroyAllWindows()
翻转
函数名:cv2.flip()
语法格式:dst = cv2.flip(src , flipCode)
参数名:dst:目标图像,类型、大小与src一致
src:原始图像 flipCode:旋转类型–>0:绕着x轴翻转 正数:绕着y轴旋转 负数:围绕x轴、y轴同时翻转
仿射
仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变换能够保持图像的平直性和平行性。
函数名:cv2.warpAffine()
语法格式:dst = cv2.warpAffine(src,M,dsize[,flags[,border