Java SDK側のAndroidカメラドキュメントによると、フレームデータにアクセスするには、カメラプレビューフレームに描画する(表示され、アクティブな)サーフェスを提供する必要があります。私はここで出くわしたもののいくつかをリンクしました(私は新しいので2つのハイパーリンクに制限されています)が、SOに自分の質問を投稿する前に、さまざまなもののドキュメントをたくさん調べました。
私の問題:
a)カメラのプレビューを画面に明示的に描画したくないので、可能であれば、バイトデータ(ここから取得できます)をカメラのバッファーから直接取得したいだけです。
b)はい、私はこれを見ました: プレビューなしでカメラから写真を撮っています。
ただし、これは、このライブラリを使用するアプリが、この(一見)任意のビューをアプリのレイアウトに挿入する必要があることを示しています。このビューは、常に表示されている必要があります(レイアウトを切り替えたり、親コンテナーの表示を変更したり、サブアクティビティを使用したりすることはできません)。アプリのライフサイクル。
実際、私のニーズはこのポスターのニーズと似ていますが、ディスク上の画像に保存されたキャプチャではなく、カメラプレビューデータの継続的なリアルタイムストリームが必要な点が異なります。したがって、呼び出しとPictureCallback
一緒に彼のために働きます。myCamera.takePicture
明らかな理由で、ディスクへの連続キャプチャの書き込みは私にとって解決策ではないため、私の場合は機能しません。myCamera.takePicture
また、プレビューフレームを取得するよりもはるかに低速です。
c)NDKに手を出し始めて、かなり良い感じになりました。ただし、これによると、ネイティブを介したカメラデータへのアクセスはサポートまたは推奨されておらず、それでもデバイスの互換性には大きな問題があります。
これが古く、Androidデバイスからカメラデータを取得するための確実なNDKルートがある場合、私はそれらを見つけることができなかったので、それらを私に指摘できればそれは素晴らしいことです。
d)Unity(ユニティプラグインの形式)などのツールからこのライブラリにアクセスできるようにしたいので、JAR(またはネイティブの場合は.so)にコンパイルして、動作することを期待します。ライブラリをそのようにインポートするAndroidアプリ。これにより、アプリ開発者が特定のUI/レイアウト構成を必要とせずにカメラを使用できるようになります。
コンテクスト:
Androidアプリで使用するビジョン処理ライブラリを作成できるようにしたいのですが、ライブラリを使用するアプリを制限して、ビジョンを使用するために特定のアプリレイアウトを使用し、画面に特定のビューを描画する必要があります。結果の処理-非常に簡単な例として、アプリがライブラリを使用してカメラが見るものの平均色を取得し、画面上の画像にその色を付けたい場合。
私が持っているポイントのいずれかに向けて私が得ることができるどんな提案も非常に役に立ちます。どうもありがとうございました!