В приложении, использующем OpenCV4Android, как узнать, снимает ли камера 8-битное изображение или 32-битное изображение?

В изображениях OpenCV HSV масштаб оттенка зависит от типа изображения. Из этот ответ,

Для изображений HSV это зависит от типа изображения (см. документ OpenCV):

8-битные изображения: H в [0, 180], S, V в [0, 255]

32-битные изображения: H в [0, 360], S, V в [0,1]

У меня два вопроса:

  1. Как узнать, какой тип изображения или кадра (будь то 8-битный или 32-битный) обнаруживает камера, например. откуда мне знать в этот класс в примере приложения Color Blob Detection?

  2. Есть ли способ заставить камеру снимать 32 битное изображение (т.к. очень хочется второй масштаб, а если нет возможности, то придется найти способ преобразовать первый масштаб во второй, т.к. метод Color.HSVToColor Android соответствует второй шкале )?


person Solace    schedule 04.12.2015    source источник


Ответы (1)


1) Он использует CvType.CV_8U, что означает 8 бит без знака.

2) Вероятно, нет, вам нужно погрузиться в часть кода, которая фактически управляет камерой и захватывает кадр, чтобы выяснить это. Однако вы можете просто преобразовать 8-битное изображение в 32-битное с помощью функций convertTo.

person boaz001    schedule 04.12.2015