Google Vision APIでCamera2を使用して顔を検出することは可能ですか?私はそれを統合する方法を見つけることができませんでした。Google Vision APIでCamera2を使用することは可能ですか
答えて
[OK]を、私は公式APIでCameraSourceクラスのカメラ2版のための短期的計画はありません。このcamera2 with mobile vision? #65
を見つけました。しかし、APIの構造を考えれば、CameraSourceの代替バージョンは、camera2を使用する開発者コミュニティによって作成される可能性があります。フレームと検出器を扱うための既存のAPIはすべて、camera2の実装をサポートするのに十分です。
はい、Google Vision APIでCamera2 APIを使用することは可能です。
まず、Google Vision APIの顔検出器は、顔とその目印を検出するために使用するオブジェクトを受け取ります。
Camera1 APIは、NV21イメージ形式のプレビューフレームを提供します。これは私たちにとって理想的です。 Google Vision Frame.Builderは、Bitmapを処理するプレビューフレームとして使用するために、setImageData(NV16、NV21またはYV12イメージフォーマットのByteBuffer)とsetBitmapの両方をサポートしています。
問題は、Camera2 APIがプレビューフレームを別の形式で提供することです。それはYUV_420_888です。すべてを機能させるには、プレビューフレームをサポートされているフォーマットに変換する必要があります。
ImageReaderからCamera2プレビューフレームを取得したら、Imageとしてこの機能を使用して、サポートされているフォーマット(この場合はNV21)に変換できます。
private byte[] convertYUV420888ToNV21(Image imgYUV420) {
// Converting YUV_420_888 data to YUV_420_SP (NV21).
byte[] data;
ByteBuffer buffer0 = imgYUV420.getPlanes()[0].getBuffer();
ByteBuffer buffer2 = imgYUV420.getPlanes()[2].getBuffer();
int buffer0_size = buffer0.remaining();
int buffer2_size = buffer2.remaining();
data = new byte[buffer0_size + buffer2_size];
buffer0.get(data, 0, buffer0_size);
buffer2.get(data, buffer0_size, buffer2_size);
return data;
}
その後は、Googleビジョンフレームを作成するには、[]返されたバイトを使用することができます。
outputFrame = new Frame.Builder()
.setImageData(nv21bytes, mPreviewSize.getWidth(), mPreviewSize.getHeight(), ImageFormat.NV21)
.setId(mPendingFrameId)
.setTimestampMillis(mPendingTimeMillis)
.setRotation(mSensorOrientation)
.build();
最後に、あなたが作成したフレームで検出器を呼ぶ:とにかく
mDetector.receiveFrame(outputFrame);
、これについてもっと知りたければ、GitHub:Camera2Visionで無料で利用可能な私の作業例をテストすることができます。私は助けて欲しいと思います:)
- 1. Microsoft Computer Vision APIまたはGoogleのCloud Vision APIでオブジェクトの場所を取得することは可能ですか?
- 2. Google Cloud Vision APIの使用
- 3. PyCharmでGoogle Mobile Vision APIを使用できますか?
- 4. Google Cloud Vision APIの制限と使用
- 5. Google Cloud Vision APIを使用した感情認識ですか?
- 6. Google Apps MarketplaceをOauth2とOpenIDで使用することは可能ですか
- 7. IntelliJ IDEAまたはAtom IDEでGoogle Mobile Vision APIを使用できますか?
- 8. GitLabでGoogle Container Builderを使用することは可能ですか
- 9. Googleアプリスクリプトでp5.jsライブラリを使用することは可能ですか
- 10. iOSでGoogle Maps APIを使用してターン方向でターンすることは可能ですか?
- 11. ローカルでFacebook APIを使用することは可能ですか?
- 12. javajetコードでphp api関数を使用することは可能ですか?
- 13. カスタムプロパティ(Office用JavaScript API 1.3)を使用することは可能ですか
- 14. Google Cloud Vision APIではAPIキーはどこにありますか?
- 15. Google App Engine Pythonでgoogle cloud visionを使用するには?
- 16. Google Cloud Vision APIから要求できる機能文字列
- 17. Google Maps APIからトリップETAを抽出することは可能ですか?
- 18. Google Cloud Vision APIとモバイルビジョンの違いは何ですか?
- 19. Web-Push API:ネイティブアプリケーションで使用することは可能ですか
- 20. アンドロイドGoogle Maps API v2をオフラインタイルのビューアとして使用することは可能ですか?
- 21. Google People API - カスタムフィールドを取得することは可能ですか?
- 22. は、win32アプリケーションでactiveXコントロールを使用することは可能ですか?ことは可能であるが、
- 23. Google People APIを使用して連絡先を作成、編集、削除することは可能ですか?
- 24. Google Places API:フィルタを使用して施設を指定することは可能ですか
- 25. GoogleドライブAPIを使用してファイルを一般公開することは可能ですか
- 26. Googleのcardboard APIを使用してネイティブAndroidアプリケーションを作成することは可能ですか?
- 27. google knowledge graph apiを使用して自由形式の質問をすることは可能ですか?
- 28. Google+ APIでサークルカウントが可能ですか?
- 29. C++でアプレットを使用することは可能ですか
- 30. ライブラリでThreadPoolを使用することは可能ですか?
私はあなたのgithubの例に従って、バーコードpdf417の検出を適用しようとすると、期待どおりに動作しません。 pdf417バーコードがうまく検出されない(QRコードはうまく機能するが、pdf417フォーマットではない、なぜならそれはスレッド問題によるものだと思う...) –