本节学习对图像的额几个变换,例如缩放,移动,旋转,仿射变换等。
1、扩展缩放
opencv提供函数cv2.resize()实现此功能。
函数原型:
cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) -> dst
src:原图像; dst:目标图像 当dsize大小不为0时,dst大小为缩放到size(weight,high),当其为零时,其大小要根据src,fx,fy大小共同确定,dst的类型跟src类型一样。
dsize为0时,dsize=size(round(fx*src.cols),round(fy*src*rows))
interpolation-插值方法,共有5种:
1)INTER_NEAREST-最近邻插值法
2)INTER_LINEAR-双线性插值法
3)INTER_AREA-基于局部像素的重采样。对于图像抽取来说,这可能是一个更好的方法。但如果是放大图像时,它和最近邻法效果相似
4)INTER_CUBIC-基于4x4像素邻域的3次插值法
5)INTER_LANCZOS4-基于8x8像素邻域的Lanczos插项
代码:
import cv2
import numpy as np
img=cv2.imread('C:\\Users\\WLX\\Desktop\\2.jpg',cv2.IMREAD_COLOR)
tic=cv2.resize(img,(0,0),fx=0.5,fy=0.5,interpolation=cv2.INTER_AREA)
res=cv2.resize(img,(0,0),fx=1.5,fy=1.2,in