python opencv-14图像插值

###“插值”最初是电脑的术语,现在引用到数码图像的处理上。即图像放大时,像素也相应地增加,增加的过程就是“插值”程序自动选择信息较好的像素作为增加的像素,而并非只使用临近的像素,所以在放大图像时,图像看上去会比较平滑、干净。不过需要说明的是插值并不能增加图像信息。通俗地讲插值的效果实际就是给一杯香浓的咖啡兑了一些白开水。 ★ 常见的插值方法及其原理 1. 最临近像素插值:图像出现了马赛克和锯齿等明显走样的原因。不过最临近插值法的优点就是速度快。 2. 线性插值(Linear):线性插值速度稍微要慢一点,但效果要好不少。所以线性插值是个不错的折中办法。 3. 其他插值方法:立方插值,样条插值等等,它们的目的是试图让插值的曲线显得更平滑,为了达到这个目的,它们不得不利用到周围若干范围内的点,不过计算量显然要比前两种大许多。

import cv2 as cv

src=cv.imread(r’C:\Users\zs\Desktop\defm.jpg’)
cv.namedWindow(‘input’,cv.WINDOW_AUTOSIZE)
cv.imshow(‘input’,src)

h,w=src.shape[:2]
print(h,w)
dst=cv.resize(src,(w2,h2),fx=0.75,fy=0.75,interpolation=cv.INTER_NEAREST) #最近邻插值法 cv.INTER_NEAREST
cv.imshow(‘INTER_LINEAR’,dst)
#图像尺寸变换cv2.resize()
#使用cv2.resize时,参数输入是宽×高×通道
例如:new_img = cv2.resize(img, (800, 500), interpolation=cv2.INTER_CUBIC)

dst=cv.resize(src,(w2,h2),interpolation=cv.INTER_LINEAR) #双线性插值法 cv.INTER_LINEAR
cv.imshow(‘INTER_LINEAR’,dst)

dst=cv.resize(src,(w2,h2),interpolation=cv.INTER_CUBIC) #双三次插值法 cv.INTER_CUBIC
cv.imshow(‘INTER_LANCZOS4’,dst)

cv.waitKey(0)
cv.destroyAllWindows()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值