opencv中用Resize和图像金字塔改变尺寸的区别

resize和图像金字塔(pydown、pyup)都可以改变图像的大小。具体操作和区别如下:


resize

C++: void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR )

Python: cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]])

参数:

src:原图

dst:目标图

dsize :dst图的size,当为零时,按照dsize = Size(round(fx*src.cols), round(fy*src.rows))计算

fx:水平方向的比例。当为零,按照{(double)dsize.width/src.cols}计算

fy:垂直方向的比例。当为零,按照{(double)dsize.height/src.rows}计算

interpolation:插值方式。INTER_NEAREST、INTER_LINEAR、INTER_AREA 、INTER_CUBIC、INTER_LANCZOS4

其中,dsize和fx,fy不能同时为零。resize可以用于生成任意尺寸大小。常用于归一化。


图像金字塔

C++: void pyrDown(InputArray src, OutputArray dst, const Size& dstsize=Size())
Python: cv2.pyrDown(src[, dst[, dstsize]]) → dst

使用pyrDown,先经过5*5的高斯滤波,输出图像宽度和高度应是输入图像的一半

C++: void pyrUp(InputArray src, OutputArray dst, const Size& dstsize=Size())
Python: cv2.pyrUp(src[, dst[, dstsize]]) → dst

使用pyrUp输出图像宽度和高度应是输入图像的2倍

图像金字塔输出图像长宽比基本不变




  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值