2010-12-07 3 views
7

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

Спасибо.

ответ

7

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

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

+1

Хорошая связь, спасибо. Я запускаю его в виртуальной сети Android, однако декодирование YUV420-> RGB ДЕЙСТВИТЕЛЬНО медленное, несмотря на то, что это просто простые дополнения/умножения/зажима. Это что-то, что можно было бы ожидать в моей среде отладки? (Я полный noob! :) – Robert 2011-07-25 10:51:59

1

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

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

Смежные вопросы