写一段图片缩放的脚本。

问题描述:

import cv2
import numpy as np
img=cv2.imread('logo.jpg')
# 下面的 None 本应该是输出图像的尺寸,但是因为后边我们设置了缩放因子
# 因此这里为 None
res=cv2.resize(img,None,fx=2,fy=2,interpolation=cv2.INTER_CUBIC)
#OR
# 这里呢,我们直接设置输出图像的尺寸,所以不用设置缩放因子
height,width=img.shape[:2]
res1=cv2.resize(img,(2*width,2*height),interpolation=cv2.INTER_CUBIC)

while(1):
    cv2.imshow('res',res)
    cv2.imshow('img',img)
    if cv2.waitKey(1) & 0xFF == 27:
        break
cv2.destroyAllWindows()

分析一下上面代码,回答一下缩放图片的两种方法res1和res2有区别吗?

问题解答:

在上面的代码中,resres1 都是用来缩放图像的,但它们的实现方式有所不同:

  1. res

    • 使用了缩放因子 fxfy,分别为 2。意味着图像在水平和垂直方向上都被放大两倍。
    • 输出图像的尺寸是通过因子计算得出的,而不是直接指定。
  2. res1

    • 直接指定了输出图像的尺寸,即将原始图像的宽度和高度都乘以 2。
    • 这种方式不需要设置缩放因子,更加直观。

区别

  • 功能上,两者的结果是相同的,都是将图像放大到原始尺寸的两倍。
  • 使用 fxfy 更加灵活,适合需要动态调整缩放比例的场景;而直接指定尺寸更清晰,适合已知目标尺寸的情况。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神笔馬良

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值