Обработка изображений с помощью камеры Android - PullRequest
7 голосов
/ 07 декабря 2010

Я хочу использовать onPreviewFrame для пост-обработки изображения перед его отображением пользователю (то есть применить цветовой оттенок, сепию и т. Д.). Как я понимаю, данные byte [], возвращаемые для обратного вызова, кодируются в YUV420sp. Люди декодировали это в RGB на Java или использовали NDK (нативный код)? У кого-нибудь есть пример функции, которая декодирует это в RGB, и как впоследствии используются значения RGB?

Спасибо.

Ответы [ 2 ]

7 голосов
/ 06 февраля 2011

Я нашел пример приложения, которое переводит YUV420 в RGB и отображает (вроде) гистограммы в реальном времени поверх изображения предварительного просмотра.

http://www.stanford.edu/class/ee368/Android/index.html

1 голос
/ 02 апреля 2013

Это помогает?

Parameters params = mCamera.getParameters();

param.setPreviewFormat(ImageFormat.RGB_565);

mCamera.setParameters(param);

Сначала проверьте, поддерживается ли rgb

http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getPreviewFormat%28%29

, а затем установите формат предварительного просмотра на rgb

http://developer.android.com/reference/android/hardware/Camera.Parameters.html#setPreviewFormat%28int%29

...