怎么调整图片大小会不变形?

本文介绍了如何在调整图片大小时避免图片变形,推荐使用边填充方法来保持原始宽高比例。通过opencv库的resize函数举例说明,直接缩放会导致图片变形,而采用padding则能有效解决这一问题。此外,还提到了其他图片处理算法,并提供了免费资源获取途径。
摘要由CSDN通过智能技术生成

怎么调整图片大小会不变形?

    要保证图片不变形做边填充是一个不错的选择。图片边填充 是指在保证图片原始宽高比例不变的情况下,按照指定图片高和宽进行图片展示,对于宽高不够的进行等比例填充,也就经常说的padding。为了方便理解,举个例子:

上    面这一张图片,高明显要大于宽(宽320,高480,),如何调整为 高和宽都是320 像素呢?我们可以利用 opencv resize实现图片的缩放。

1. resize:

首先我们需要了解 opencv resize的用法:

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

实例:

import cv2

src = cv2.imread('imgs/1.jpg')
h, w ,_ = src.shape

dist1 = cv2.resize(src, dsize=None, fx=0.6, fy=0.6)
dist2 = cv2.resize(src, (int(w*0.6), int(h*0.6)))
print(f"原始图片 宽:{w}, 高:{h}, dist1: {dist1.shape}, dist2: {dist2.shape}")

cv2.imshow("dist1", dist1)
cv2.imshow("dist2", dist2)
cv.waitKey(0)

2. 图片处理

方法1:直接resize。

方法1 结果:直接把320 * 480 的图片调整为 320 * 320 的图片会变形。直接惨不忍睹,正确的做法就是进行padding

方法2:padding: 具体原理方法,请参考 paperClub, 网站http://www.infersite.com。结果是不是好很多呢?

另外,我们还汇总了其他几种算法:

备注:免费获取方法,关注 paperClub, 请您发送私信 :新冠01

1. 感谢各位小伙伴的关注, 您的点赞、鼓励和留言,都是我深夜坚持的一份动力,无论褒贬,都是我们行进途中最好的回馈,也都会被认真对待。

2. 我将持续分享各类、好玩且有趣的算法应用及工程和项目,欢迎分享和转发。沟通、学习和交流,请与我联系,虽然平时忙,但留言必回,勿急,感谢理解!

3. 分享内容包括开源项目和自研项目,如在引用或使用时,考虑不周、遗漏引用信息或涉及版权等,请您及时联系。如果您对某些内容感兴趣,我们可以一起讨论、交流和学习。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值