当前位置:  开发笔记 > 人工智能 > 正文

缩放图像以完全填充边界框

如何解决《缩放图像以完全填充边界框》经验,为你挑选了1个好方法。

例如,如果我需要填充宽度为100px,高度为50px的边界框,则以下输入图像将具有以下行为:

    200w x 200h缩小50%,25%从顶部和底部切断.

    200w x 100h缩小50%,没有裁剪.

    100w x 200h得分未缩放,但75px从顶部和底部切断.

这似乎是一个常见的调整大小功能,但我无法追踪算法的一个例子.

将接受任何语言的答案,包括伪代码.带答案的页面链接也很棒!



1> Mark Ransom..:

你要求的是非常容易的.计算宽度和高度的不同比例因子,然后选择较大的比例因子作为实际比例因子.将您的输入大小乘以比例,然后裁剪出来的任何一个太大.

scale = max(maxwidth/oldwidth, maxheight/oldheight)
scaledwidth = oldwidth * scale
scaledheight = oldheight * scale
if scaledheight > maxheight:
    croptop = (scaledheight - maxheight) / 2
    cropbottom = (scaledheight - maxheight) - croptop
if scaledwidth > maxwidth:
    cropleft = (scaledwidth - maxwidth) / 2
    cropright = (scaledwidth - maxwidth) - cropleft

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有