ARCore: как обнаружить недостаточное освещение?

ARCore не сможет обнаружить поверхности, если освещение будет недостаточным.

Вопрос: как обнаружить недостаточное освещение, чтобы иметь возможность информировать пользователя?

Я мог бы использовать таймер для отображения предупреждения через несколько секунд, но я не буду знать, является ли отсутствие обнаружения поверхности из-за недостаточного освещения или по другой причине (нет характерных точек и т. Д.)

Итак, как проверить, является ли недостаточное освещение вероятной причиной не обнаружения самолетов?

Благодарю.

2 ответа

Решение

Я не совсем уверен, как вы могли бы продолжать это, так как я использовал ARCore только в Unity, но, возможно, вы могли бы измерить яркость пикселей экрана. Вы можете использовать среднее значение, чтобы увидеть, слишком ли темно или слишком ярко. Кроме того, вы можете использовать среднее отклонение, чтобы определить, является ли почти весь экран темным / ярким (низкое отклонение), а не только отдельные части (более высокое отклонение).

К сожалению, для этого нет API. Мы позволяем пользователю выполнить последовательность калибровки (для нас это ловит некоторые объекты, так что пользователю приходится перемещать телефон), и если у нас нет плоскости после попытки X, мы показываем диалог, похожий на сообщение пользователю, что он / она следует найти место с лучшим освещением или более структурированным полом.

Другие вопросы по тегам