Tos*_*Ken 2 algorithm geometry
我的问题的背景如下.我有一个图片和一个裁剪矩形,描述了如何裁剪图片以生成结果图片.裁剪矩形总是较小或最大化图片的大小.现在应该可以旋转裁剪矩形.这意味着当在图片内旋转裁剪标记时,必须缩放裁剪,以使其延伸不超过照片.
Anybode可以帮我解决一个如何根据轴对齐的照片重新计算作物矩形的比例的公式吗?
我的第一次尝试是计算裁剪矩形的轴对齐边界框,而不是使其适合照片矩形.但不知何故,我陷入了这种方法,
编辑: 还有一点需要注意: - 裁剪矩形可以有其他尺寸,周围矩形内有另一个中心点.这意味着裁剪矩形可以小得多,但是例如位于图片矩形的左下边界.因此,当旋转较小的作物时,它也将超过其极限
在此先感谢塞巴斯蒂安
当您将宽度w和高度的轴对齐矩形旋转h角度φ时,旋转矩形的轴对齐边界框的宽度和高度为:
W = w·|cos ?| + h·|sin ?|
H = w·|sin ?| + h·|cos ?|
Run Code Online (Sandbox Code Playgroud)
(符号|x|表示绝对值.)这是旋转裁剪矩形的边界框,您可以缩放以适应宽度wo和高度的原始矩形ho与因子
a = min(wo / W, ho / H)
Run Code Online (Sandbox Code Playgroud)
如果a小于1,则旋转的裁剪矩形适合原始矩形,您无需缩放.否则,将裁剪矩形缩小为缩放尺寸
W? = a·W
H? = a·H
Run Code Online (Sandbox Code Playgroud)