Предварительный просмотр стереоскопического изображения HTC Evo 3D — уменьшенное горизонтальное разрешение

Я пишу приложение для Android, которое использует данные стереоскопического изображения с камеры на HTC Evo 3D. Я пытаюсь получить доступ к данным, используя стандартный Android API с некоторыми специфическими для 3D функциями, предоставляемыми HTC OpenSense API. Пока что я могу получить доступ к камере в стереоскопическом режиме и получить данные изображения, используя метод обратного вызова onPreviewFrame().

Однако «сырые» данные изображения (массив data[] байтов), доступные в onPreviewFrame(), не являются полными. Изображение, которое я получаю, представляет собой правильную стереоскопическую картинку, расположенную рядом, но ее размер по горизонтали уменьшен в два раза. Например, при установке размера предварительного просмотра камеры на 1280x720 пикселей я ожидаю изображение 2560x720 пикселей (два изображения желаемого разрешения 1280x720 пикселей). Но то, что я получаю, это изображение с разрешением 1280x720, половина которого идет с правой камеры, а другая половина с левой. Я не знаю, почему горизонтальное разрешение уменьшено.

На этом форуме есть похожая тема, но ответ на самом деле не решает проблему. Хотя в моей программе DisplaySetting.setStereoscopic3DFormat() возвращает true, похоже, это не оказывает никакого влияния на данные дисплея или изображения.

Есть ли у кого-нибудь опыт решения этой проблемы?


person advdk    schedule 17.09.2013    source источник


Ответы (1)


Уменьшение разрешения вдвое предусмотрено дизайном, экран с барьером параллакса приводит к тому, что 3D-фотографии имеют вдвое меньшее разрешение.

person dljava    schedule 17.09.2013
comment
Да, но возможен ли доступ к полным данным изображения с исходным разрешением? - person advdk; 18.09.2013