我正在努力寻找正确的方法来调整和裁剪图像,以便聚焦于特定区域。在我的情况下,特定区域是在图像中检测到的脸部,我需要确保这个区域在裁剪后仍然可见。
我已经有了聚焦区域的参数,例如脸部高度、宽度、中心位置x和y,这些值是原始图像尺寸的百分比。
我的目标是得到一个60x60的缩略图。通常的做法是将图像的高度或宽度缩小到60像素,并从中心裁剪出60x60像素的图像,就像这样:
我已经有了聚焦区域的参数,例如脸部高度、宽度、中心位置x和y,这些值是原始图像尺寸的百分比。
我的目标是得到一个60x60的缩略图。通常的做法是将图像的高度或宽度缩小到60像素,并从中心裁剪出60x60像素的图像,就像这样:
mogrify -resize 60x -gravity 'Center' -crop 60x60 image.jpg
如何将我的裁剪焦点放在特定区域?
我考虑的解决方案有几个:
- 如果脸部区域大于所需的缩略图,则将图像调整大小,使整个脸部在60x60像素中可见,然后进行裁剪。
- 如果脸部区域小于所需的缩略图,则“扩展”我的面部区域,直到想要的缩略图适合该区域。然后进行裁剪。我想我需要确保这不超出原始图像的边界。
是否有更聪明的方法?您能否尝试编写一些示例代码?
谢谢!