Я пытаюсь сохранить в файлы кадры RGB вместе с данными позы, а затем выполнить для них некоторую пост-обработку. Основная проблема заключается в том, что в настоящее время единственный способ сделать это с помощью Tango Java API — отобразить в GLSurfaceView
, подключив их через
tangoCameraPreview.connectToTangoCamera(mTango,TangoCameraIntrinsics.TANGO_CAMERA_COLOR);
Затем вы должны использовать GlReadPixels
для чтения пикселей в массив и сохранения их в файл.
Проблема в том, что GlReadPixels работает медленно. На самом деле, используя это, я получаю около 3-4 кадров в секунду, используя то, что я только что описал.
Глядя на другие, более общие ответы о серийной фотосъемке, я видел, как разные люди говорили, что при использовании SurfaceView
вместо GlSurfaceView
им удалось получить до 15 кадров в секунду.
Я не нашел способа использовать SurfaceView
с камерой танго, так как connectToTangoCamera
нужен GlSurfaceView
, и я не могу просто использовать Camera
и привязать его к SurfaceView
, потому что, когда я пытаюсь открыть его (через Camera.open()
), он уже используется Tango
. Tango
должен использовать его, чтобы получить данные colorToIMUPose
.
Поэтому я действительно не уверен, какой обходной путь я могу найти, чтобы получить хотя бы 10 кадров в секунду.