我使用的是resize函数
先说一下这个函数
void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR)
参数说明:
src - 原图
dst - 目标图像。当参数dsize不为0时,dst的大小为size;否则,它的大小需要根据src的大小,参数fx和fy决定。dst的类型(type)和src图像相同
dsize - 目标图像大小
所以,参数dsize和参数(fx, fy)不能够同时为0
fx - 水平轴上的比例因子。
fy - 垂直轴上的比例因子。
INTER_NN -最近邻插值
INTER_LINEAR -双线性插值 (缺省使用)
INTER_AREA -使用象素关系重采样,当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于 INTER_NN 方法。
INTER_CUBIC -立方插值。
我的使用方式:
import cv2
img = cv2.imread('5902_256x256.png',3)
res=cv2.resize(img,(1536,1024),interpolation=cv2.INTER_CUBIC)
cv2.imwrite('Forest.png',res)
cv2.waitKey(0)
cv2.destroyAllWindows()
原图:
放大后的结果(截图不是很准确,见谅)