2012-06-07 3 views
1

Я использую cv :: VideoCapture в собственном коде, и у меня возникают проблемы с ним: В коде Java для Android, Videocapture дает кадр Yuv420, в собственном коде это BGR. Так как мне нужно серое изображение, изображение Юва будет лучше (я читал, что нет никакой конверсии Юва в GREY).cv :: VideoCapture в собственном коде Android

Вот мои вопросы:

им с помощью Asus TF201, приобретая кадр занимает около 26ms, который много ... как стандартная андроид камеры API дает Yuv делает нативный вариант VideoCapture выполняет преобразование ? (что объясняет стоимость времени)

Можно ли изменить формат с помощью CV_CAP_PROP_FORMAT? Всякий раз, когда я пытаюсь mycapture.get (CV_CAP_PROP_FORMAT), мое приложение падает ...

EDIT: Андрей Камаев ответил на этот вопрос. Я должен использовать захват/получить методы добавления аргумента во втором:

capture.retrieve(frame, CV_CAP_ANDROID_GRAY_FRAME); 

Благодаря

ответ

1

Посмотрите на образцы OpenCV для Android. Большинство из них получают серое изображение из VideoCapture объекта:

capture.retrieve(mGray, Highgui.CV_CAP_ANDROID_GREY_FRAME); 

Внутренне это серое изображение «переделанный» из yuv420 кадра наиболее эффективным способом - даже без дополнительного копирования.

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