高解像度の非正方形のオリジナルから (ユーザーによって) トリミングされた、正方形の低解像度の写真があります。低解像度の写真は、サムネイルに縮小されています。正方形バージョンの高解像度コピーを実現するために、同じ方法で元の写真を自動的に (ユーザーの介入は必要なく) 再トリミングしたいと考えています。元のクロッパー座標にアクセスできません。私が持っているのはこの2枚の写真だけです。
私が何を意味するかを説明するために、いくつかの例の画像 (私の Facebook プロフィールから) を以下に示します。
オリジナルの高解像度写真-切り抜いてから縮小した正方形の写真
繰り返しますが、目標は、小さな写真をガイドとして使用して、ソースからより解像度の高い正方形の写真を取得することです。
ソリューションの唯一の制約は次のとおりです。
- 一般性: 私はこれをプロフィール写真に使用しているので、顔でのみ機能する場合は完全に受け入れられます! あらゆる種類のランダムな画像に一般化する必要はありません。人の写真から始めるのが最適です。
- プラットフォーム: Node を使用していますが、Ruby、Python、Java、または C++ (Node バインディングを使用) でこのプロセスを実行できれば幸いです。ほぼ間違いなく、Heroku または AWS で実行されます。
- 速度: かなり高速である必要があります。これを有効にするには、オンラインで実行する必要があります。これは、このアクションを待っているユーザー インターフェイスをブロックすることになるからです。
誰にもアイデアはありますか?私は画像処理についてよく知らないので、どこから始めればよいかわかりません。
編集: 特に Facebook の場合、それほど難しくない解決策があります。元の作物データは、プロフィール画像で利用できます: https://graph.facebook.com/bcherry/profile?fields=pic_crop
これで当面のハードルを乗り越えることができますが、長期的な解決策ではない可能性があるため、以下に示す回答は、より一般的な問題に対して非常に役立ちます.