opencv_python图像处理——图像插值算法

代码:

import cv2

if __name__ == "__main__":
    img = cv2.imread("img/woman_side_portrait.jpg", cv2.IMREAD_UNCHANGED)

    scale_percent = 30
    width = int(img.shape[1] * scale_percent / 100)
    height = int(img.shape[0] * scale_percent / 100)
    dim = (width, height)
    resized = cv2.resize(img, dim, interpolation=cv2.INTER_LINEAR)
    cv2.imwrite("img/scale30.jpg",resized)

    fx = 1.5
    fy = 1.5

    resized1 = cv2.resize(resized, dsize=None, fx=fx, fy=fy, interpolation=cv2.INTER_NEAREST)
    cv2.imwrite("img/zoom_nearest.jpg", resized1)

    resized2 = cv2.resize(resized, dsize=None, fx=fx, fy=fy, interpolation=cv2.INTER_LINEAR)
    cv2.imwrite("img/zoom_linear.jpg", resized2)

    cv2.imshow("Resized image", resized)
    cv2.imshow("INTER_NEAREST image", resized1)
    cv2.imshow("INTER_LINEAR image", resized2)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

结果图:
原图
在这里插入图片描述
0.3倍缩小
在这里插入图片描述
在0.3倍基础上进行1.5倍放大(最近邻插值)
在这里插入图片描述

在0.3倍基础上进行1.5倍放大(线性插值)
在这里插入图片描述
视频讲解链接:
[图像缩放]最近邻插值和双线性插值 nearest neighbor and bilinear

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值