皆さん、髪や周囲の環境から顔を分離する必要がある Android アプリケーションを作成しています。私はいくつかの研究をしました。円形トリミングを使用しても、詳細が失われるため、画像から効率的に顔を合わせることができないため、それほど効率的ではありません。Androidでこれを達成できればいいのにと思いますか? この目的のためにすでに作成されたソースコードはありますか? またはこの機能を提供するオープンソースライブラリはありますか? 正確に行う必要がある場合は、画像のセグメンテーションを通じて行う必要があるのではないかと考えていました?? それでも、アンドロイドが画像のセグメンテーションをどのように扱うかはわかりません。それは非常に計算集約的ではないでしょうか?? 可能性とトレードオフについて議論していただければ幸いです。私がやりたいのは、写真から顔を抽出して、それで遊ぶことができるようにすることだけです!
質問する
505 次
1 に答える
0
この種のことを処理する既存のライブラリ、つまりopenCVがあります(参考文献を参照してください)。
要するに、顔検出を行うにはいくつかの異なる方法があります。それは本当にあなたが達成しようとしていることに依存します。過去に主成分分析 (固有ベクトル分解) を使用して、顔の中心とその位置合わせ (つまり、カメラに向かって左または右に傾いている人) を見つけて、顔を抽出することができました。 xy平面に沿って正規化します。この方法は比較的効率的であると考えられておりO(n^2)
、計算に時間がかかるため (n
は画像内のピクセル数)、これらの方法が CPU で簡単に処理されるとは思わないでください。
目の位置を判断したり、人が笑っているかどうかを判断したりする場合は、他のより複雑な方法を使用できます。
以下は、 で使用するかなり一般的な画像処理ライブラリを使用して、あなたが要求したものとまったく同じ完全に機能する例ですC
。幸運を!
編集: javaCV を使用した Java の例については、リファレンス [2] を参照してください。
参考文献:
于 2013-08-12T16:35:39.350 に答える