ICS の新しいハードウェア ベースの Camera.faceDetectionListener を使用して、ライブ プレビュー モードで顔検出を機能させようとしています。Nexus 4、Nexus 7、および Samsung Galaxy 10.1 タブレットで試してみましたが、getMaxNumDetectedFaces を呼び出すと、これらのデバイスはすべてフロント カメラに対して 0 を返します。ただし、すべてのデバイスが顔認証をサポートしているため、顔検出をサポートしていないように見える理由がわかりません。これらのデバイスのいずれかでこれを機能させた人はいますか?
質問する
1062 次
1 に答える
1
API 14 (ICS) 以降でサポートされている getMaxNumDetectedFaces は、 startFaceDetectionで開始された後、カメラの顔検出の結果を含む配列の最大長を返します。返された値が 0 の場合、デバイスがこの顔検出方法をサポートしていないことを示します。この場合、顔検出は他の方法で実装する必要があります (たとえば、API 1 以降で利用可能なFaceDetectorを使用するなど)。
いくつかのデバイスの前面カメラと背面カメラの両方について、getMaxNumDetectedFaces によって返される値を確認しました。
- Nexus 4: 両方のカメラに対して 2 を返します。
- Nexus 5: 両方のカメラに対して非常に大きな数 (5308421) を返します。
- Nexus 7: 両方のカメラに対して 0 を返します。
- Nexus 10: 両方のカメラに対して 16 を返します
- Sony Xperia Z1: 両方のカメラに対して 5 を返します。
要約すると、カメラの顔検出に対する OEM のサポートには、当たり外れがあります。
于 2014-06-05T00:19:33.877 に答える