問題タブ [front-camera]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - onImageAvailable (android Camera2) のフロントカムポートレートモードから未加工の NV21 配列画像 (android.media.Image) を変換して回転させる方法は?
注: 私の投稿のすべての情報は、Samsung Galaxy S7 デバイスにのみ適用されます。エミュレーターやその他のデバイスがどのように動作するかわかりません。
onImageAvailable では、各画像を継続的に NV21 バイト配列に変換し、生の NV21 形式を期待する API に転送します。
これは、イメージ リーダーを初期化し、イメージを受け取る方法です。
画像を raw NV21 に変換する関数 (ここから)、正常に動作します。ポートレート モードでフロント カメラを使用すると、画像は (Android が原因で?) 90 度回転します: (Alex Cohn のコメントに従って、わずかに変更しました)
したがって、「データ」をローテーションする必要があります。この関数 (ここから) を使用すると、奇妙な3 回インターレース画像エラーが発生します。
この写真になります:
注: 同じカップですが、3 ~ 4 回表示されます。
ここから別の提案された回転関数を使用すると、適切な結果が得られます。
結果は問題ありません。
上の画像は、テクスチャ ビューのサーフェスを使用し、それを captureRequestBuilder に追加するダイレクト ストリームを示しています。下の画像は、回転後の生の画像データを示しています。
質問は次のとおりです。
- 「convertYUV420ToNV21_ALL_PLANES」のこのハックは、どのデバイス/エミュレーターでも機能しますか?
- なぜ、rotateNV21_working は正常に機能するのに、rotateNV21 が機能しないのですか。
編集: ミラーの問題が修正されました。コード コメントを参照してください。転送される API が原因であったスクイーズの問題は修正されました。実際に未解決の問題は、適切なあまり高価ではない機能であり、画像を任意のデバイスで動作する未加工の NV21 に変換および回転します。
c# - xamarin androidを使用してフロントカメラを開くにはどうすればよいですか
「Smile for the camera」というタイトルのアプリで、顔認証のためにデバイスの前面カメラを開きたいです。これを行うにはどうすればよいですか。現在、背面カメラのデフォルトを取得しています。バックカメラオプションを非表示にします。
私を助けてください
カメラを開くコードは次のとおりです