计算机视觉基础-图像处理(上)-Task01 OpenCV框架与图像插值算法

计算机视觉基础-图像处理(上)-Task01 OpenCV框架与图像插值算法

最近邻插值

是指将目标图像中的点,对应到源图像中后,找到最相邻的整数点,作为插值后的输出

双线性插值

双线性插值就是线性插值在二维时的推广,在两个方向上做三次线性插值

import cv2  #导入opencv库

img = cv2.imread('D:\\software\\jupyter\\CV-opencv\\ironman.jpg', cv2.IMREAD_UNCHANGED)   #读取一张图片
print('Original Dimensions : ',img.shape)
cv2.imshow('Original img', img)
cv2.waitKey(0) 
cv2.destroyAllWindows()

显示原图
Original Dimensions : (1080, 1920, 3)
在这里插入图片描述将原图压缩再用不同插值方式对比

scale_percent = 30       # 先将原图进行压缩
width = int(img.shape[1] * scale_percent / 100)
height = int(img.shape[0] * scale_percent / 100)
dim = (width, height)
# resize image
resized = cv2.resize(img, dim, interpolation = cv2.INTER_LINEAR)##双线性插值
print('Resized Dimensions : ',resized.shape)
cv2.imshow("Resized image", resized)
cv2.waitKey(0)
cv2.destroyAllWindows()

显示压缩图片
Resized Dimensions : (324, 576, 3)
在这里插入图片描述最邻近插值

fx = 1.5
fy = 1.5
resized1 = cv2.resize(resized, dsize=None, fx=fx, fy=fy, interpolation = cv2.INTER_NEAREST)##最邻近插值
cv2.imshow("INTER_NEAREST image", resized1)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述双线性插值

resized2 = cv2.resize(resized, dsize=None, fx=fx, fy=fy, interpolation = cv2.INTER_LINEAR)##双线性插值
cv2.imshow("INTER_LINEAR image", resized2)
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述采用两种插值方式处理图片后,图片相对压缩放大,采用插值函数后明显比原图更加模糊,这是不可避免的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值