Как установить разрешение камеры в Android с OpenCV?

Я пытаюсь разработать приложение для Android, и мне нужно было бы получать несжатые изображения с максимально высоким разрешением с камеры. Я пытался использовать takePicture's rawCallback и postviewCallback, но они не работают.

Сейчас я пытаюсь использовать OpenCV (версия 2.4) с использованием VideoCapture, но я застрял в стандартном разрешении 960x720, что мало для того, что мне нужно; и мой телефон, Samsung Galaxy S3, теоретически может обеспечить до 8 Мпикс (3264 x 247 для фотографий и 1920 x 1080; 1080 для видео, согласно Википедии). VideoCapture.set (Highgui.CV_CAP_PROP_FRAME_WIDTH / HEIGHT, некоторое число) заставляет камеру возвращать черное изображение, насколько я обнаружил.

Есть ли способ получить более высокое разрешение, либо с помощью OpenCV, либо с Android API, без сжатия?

Мне очень жаль, если об этом уже спрашивали; Я искал несколько дней, и я ничего не нашел.

Спасибо за ваше время!

РЕДАКТИРОВАТЬ: Хотя это не совсем то, что я спрашивал, я обнаружил, что есть способ сделать что-то очень похожее: если вы установите OnPreviewCallback для камеры, используя setPreviewCallback, вы получите необработанные данные изображения с камеры (по крайней мере, в S3 я работаю с). Я оставляю это здесь на случай, если кто-то найдет это полезным в будущем.

РЕДАКТИРОВАТЬ: Частичное решение объясняется в ответе ниже. Подводить итоги,

vc.set(Highgui.CV_CAP_PROP_FRAME_WIDTH, desiredFrameWidth);
vc.set(Highgui.CV_CAP_PROP_FRAME_HEIGHT, desiredFrameHeight);

работает в определенных условиях; пожалуйста, смотрите ниже для более подробной информации.

Ответы на вопрос(3)

Ваш ответ на вопрос