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

柔情只为你懂 2021-11-16 13:12 571阅读 0赞

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

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

20190728122228784.png

2,公式推导:

一次线性插值如下:

20190728122553780.png

二次线性插值如下:

20190728122701544.png

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

20190728122739544.png

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

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

发表评论

表情:
评论列表 (有 0 条评论,571人围观)

还没有评论,来说两句吧...

相关阅读