opencv二次线性插值实现图片缩放

补充:双线性插值的数学公式推导:

1,我们定义四个点:Q11,Q12,Q21,Q22,先在x方向插值R1,R2,而后y方向插值p.

opencv二次线性插值实现图片缩放_第1张图片

2,公式推导:

一次线性插值如下:

opencv二次线性插值实现图片缩放_第2张图片

二次线性插值如下:

综上所述我们得到:二次线性插值公式如下:

 

3,opencv通过双线性插值来实现图像的缩放:

# 1 load 2 info 3 resize 4 check
import cv2
img = cv2.imread('image0.jpg',1)
#得到照片的属性
imgInfo = img.shape
print(imgInfo)
height = imgInfo[0]
width = imgInfo[1]
mode = imgInfo[2]
# 1 放大 缩小 2 等比例 非 2:3 
dstHeight = int(height*0.5)
dstWidth = int(width*0.5)
# 双线性插值 像素关系重采样
dst = cv2.resize(img,(dstWidth,dstHeight))
cv2.imshow('image',dst)
cv2.waitKey(0)

 

你可能感兴趣的:(opencv)