私はネイティブ コードで cv::VideoCapture を使用していますが、それに問題があります: Android Java コードでは、Videocapture は Yuv420 フレームを提供し、ネイティブ コードでは BGR フレームです。私は灰色の画像が必要なので、Yuv 画像を持っている方が良いでしょう (Yuv を GRAY に変換するのにコストはかからなかったと読みました)。
ここに私の質問があります:
Asus TF201 を使用している im では、フレームの取得に約 26 ミリ秒かかります。標準の Android カメラ API が Yuv に与えるように、VideoCapture のネイティブ バージョンは変換を実行しますか? (これは時間コストを説明します)
CV_CAP_PROP_FORMAT でフォーマットを変更することは可能ですか? mycapture.get(CV_CAP_PROP_FORMAT) を試すたびに、アプリがクラッシュします...
編集:アンドレイ・カマエフがこれに答えました。2番目の引数に引数を追加するグラブ/取得メソッドを使用する必要があります:
capture.retrieve(frame, CV_CAP_ANDROID_GRAY_FRAME);
ありがとう