代码
import cv2 as cv
src = cv.imread('./0.jpg', cv.IMREAD_COLOR)
h, w = src.shape[:2]
print(h, w)
dst = cv.resize(src, (w * 2, h * 2), fx=0, fy=0, interpolation=cv.INTER_NEAREST)
cv.imshow('INTER_NEAREST', dst)
dst = cv.resize(src, (w * 2, h * 2), interpolation=cv.INTER_LINEAR)
cv.imshow('INTER_LINEAR', dst)
dst = cv.resize(src, (w * 2, h * 2), interpolation=cv.INTER_CUBIC)
cv.imshow('INTER_CUBIC', dst)
dst = cv.resize(src, (w * 2, h * 2), interpolation=cv.INTER_LANCZOS4)
cv.imshow('INTER_LANCZOS4', dst)
cv.waitKey(0)
cv.destroyAllWindows()
实验效果
解释
最常见四种插值算法
INTER_NEAREST = 0
INTER_LINEAR = 1
INTER_CUBIC = 2
INTER_LANCZOS4 = 4
相关的应用场景
几何变换、透视变换、插值计算新像素
函数:cv.resize(src,dsize,dst,fx,fy,interpositionn)
,
如果dsize
有值,使用dsize
做放缩插值,否则根据fx
与fy
卷积。