怎么调整图片大小会不变形?
要保证图片不变形做边填充是一个不错的选择。图片边填充 是指在保证图片原始宽高比例不变的情况下,按照指定图片高和宽进行图片展示,对于宽高不够的进行等比例填充,也就经常说的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. 分享内容包括开源项目和自研项目,如在引用或使用时,考虑不周、遗漏引用信息或涉及版权等,请您及时联系。如果您对某些内容感兴趣,我们可以一起讨论、交流和学习。