1

ICS の新しいハードウェア ベースの Camera.faceDetectionListener を使用して、ライブ プレビュー モードで顔検出を機能させようとしています。Nexus 4、Nexus 7、および Samsung Galaxy 10.1 タブレットで試してみましたが、getMaxNumDetectedFaces を呼び出すと、これらのデバイスはすべてフロント カメラに対して 0 を返します。ただし、すべてのデバイスが顔認証をサポートしているため、顔検出をサポートしていないように見える理由がわかりません。これらのデバイスのいずれかでこれを機能させた人はいますか?

4

1 に答える 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 に答える