setPreviewCallbackWithBuffer
を使用し、onPreviewFrame()
コールバックでビデオフレームピクセルデータを取得しました。バイトデータは、YUV NV21の形式であり、90度回転されています。私はプレビュー枠をYUVからRGBに変換する方法を知っていました。しかし、私は後で多くの画像処理タスクがあったので、私が必要としなかった時間(約20ms)がかかりました。カメラのパラメータを設定するか、コードを変換する&コードを変更せずに正しい向きのビデオフレームを取得するにはどうすればよいですか?Android onPreviewFrame()コールバックの画像の向きが正しくありませんか?
0
A
答えて
0
Camera.setDisplayOrientation()のスクリーンでカメラのライブプレビューの向きを本質的に自由に修正できますが、JPEG画像や録画ビデオには影響しません。
他の関連する方法は、キャプチャされたJPEG画像に適用されるsetRotation()と、MediaRecorderのためにsetOrientationHint()です。
しかし、これらの方法のいずれも、preview callbacksに渡されるバイト配列の順序に影響しません。 カメラ2 APIの場合でも、この問題は解決されません。
必要な場合は、NV21フレームを回転させるためにRGBを通過する必要はありません。このバイト操作は色変換よりもはるかに高速ですが、依然として時間がかかります。イメージ処理(opencvタグでヒント)の場合、イメージ処理アルゴリズムをチューニングして回転イメージを受け入れることをお勧めします。アルゴリズム部分を変更するのが面倒すぎるが、画像処理プロシージャがC++で書かれている場合、C++でYUVローテーションをコード化するとパフォーマンスが向上します。
関連する問題
- 1. Androidカメラの画像プレビューが正しくありません
- 2. nexus 7の画像サイズが正しくありません
- 3. CKeditor:画像アップロードプラグイン 'アップロードステータス'が正しくありません
- 4. Python Pillow画像のサイズ変更画像がうまくいきますが、画像はありません
- 5. onPreviewFrameの画像処理
- 6. tablerowのボタンのサイズが正しくありません。 (Android)
- 7. Xamarin Androidのバインド方法が正しくありません。
- 8. Androidフラグメントレイアウトの幅が正しくありません
- 9. WCFコールバックで受信したメッセージの順序が正しくありません
- 10. Androidで画像のサイズを正しく変更できません
- 11. Android SDKが見つかりませんでした - Android SDKの場所は正しくありません
- 12. Laravelの画像のパスが正しく動作しません
- 13. 画像が正しく固定されていませんか?
- 14. イメージローテーションが正しくありません
- 15. マルチプルセレクトリストが正しくありません
- 16. Android Webviewページnot Loading Pageが正しくありません。
- 17. JTextPane挿入コンポーネント、垂直方向の配置が正しくありません
- 18. Instafeed.jsに画像がありません
- 19. Twitpic APIで画像をアップロードするときの応答コードが正しくありません
- 20. Androidで画像ファイルを開くことができません - ファイルが見つかりません例外
- 21. cordova6.1.1(Androidプラットフォーム5.1.1)ギャラリー画像が正しくアップロードされていません
- 22. ImageMagickは縦(縦)向きの画像を変換しません
- 23. レイアウトエイリアスに関するAndroidのドキュメントが正しくありませんか?
- 24. サムネイル画像が正しく整列していません
- 25. PiCameraValueError:解像度が1920x1080のバッファ長が正しくありません
- 26. アクティビティの要素の幅が正しくありませんか?
- 27. タブバーの高さの値が正しくありませんか?
- 28. XSD +正規表現。ルールが正しくありませんか?
- 29. '、'の近くの構文が正しくありません。
- 30. 'sp_executesql'の近くの構文が正しくありません