我有一张方形的低分辨率照片,它是(由用户)从高分辨率、非方形的原始照片中裁剪出来的。然后将低分辨率照片向下调整为缩略图。我想自动(无需用户干预)以相同的方式重新裁剪原始照片,以获得方形版本的更高分辨率副本。我无权访问原始的裁剪器坐标。我只有这两张照片。
以下是一些示例图片(来自我的 Facebook 个人资料)来说明我的意思:
同样,我们的目标是使用小照片作为指南,从源头获得分辨率更高的方形照片。
解决方案的唯一限制是:
- 一般性:我将它用于个人资料图片,所以如果它只适用于完全可以接受的面部!无需推广到各种随机图像,人物图片是一个很好的起点。
- 平台:我使用的是 Node,但我很乐意在 Ruby、Python、Java 或 C++(使用 Node 绑定)中运行这个过程。它几乎肯定会在 Heroku 或 AWS 上运行。
- 速度:它需要非常快。为了使它有用,它必须以在线方式运行,因为我会阻止用户界面等待此操作。
有没有人有任何想法?我对图像处理了解不多,所以我真的不知道从哪里开始。
编辑:对于 Facebook,具体来说,有一个几乎没有那么难的解决方案。原始作物数据可用于个人资料图片:https ://graph.facebook.com/bcherry/profile?fields=pic_crop
这将使我克服眼前的障碍,但可能不是一个长期的解决方案,因此下面提供的答案对于更普遍的问题仍然很有帮助。