AR.js искаженная перспектива: как использовать персонализированный файл калибровки камеры `camera_para.dat`, чтобы плоскость пола была горизонтальной?

Я ищу в AR.js вариант использования дополненной реальности, где трехмерные объекты не появляются непосредственно на маркере хиро, но где-то вокруг маркера.

Когда я просматриваю сцену дополненной реальности через iPhone 7 сверху, все выглядит нормально, но когда я наклоняю камеру для большей перспективы, AR.js не применяет ту же перспективу к миру дополненной реальности, поэтому удаленные виртуальные объекты выглядят как если они располагались на наклонной плоскости.

Я создал пример страницы, чтобы проиллюстрировать это. Поведение: при взгляде сверху сетки идеально совпадают, но при взгляде сбоку плоскости не совпадают.

Сцена дополненной реальности, вид сверху  Сцена дополненной реальности, вид снизу

Могу ли я применить какие-либо настройки для настройки AR.js (или ARToolKit, от которого это зависит)? Может, там есть способ определить поле зрения моей веб-камеры?

[РЕДАКТИРОВАТЬ] Неделю спустя я бы перефразировал свой вопрос так: как я могу использовать файл калибровки камеры camera_para.dat ARToolkit для конкретного устройства в AR.js, не создавая побочных эффектов, таких как искаженный рендеринг?


person Pierre F    schedule 27.04.2018    source источник


Ответы (1)


Обновление внутренних оптических характеристик камеры, также известное как калибровка, может помочь!

Приложение artoolkitx-Calibration предназначено для калибровки камер. К сожалению, в настоящее время приложение недоступно в App Store. Однако вы можете развернуть его на своем устройстве разработки с помощью Xcode.

В качестве альтернативы можно использовать > ARTICLE_PROIDER_RELOFOLLOW_RELOFOLLOW_RELOFOLLOW_RELOFOLLOW. может содержать результаты калибровки камеры для вашего смартфона. К сожалению, он возвращает 204 (нет содержимого) для iPhone 7 (также известного как apple / iPhone / iPhone9,3, камера 0, соотношение сторон 16: 9).

Кстати, _ 2_ для нескольких старых устройств iOS можно найти на GitHub:

  • iPad 2: 0,7 МП
  • iPad Air 2: 8 МП, f / 2,4
  • iPad Mini 3: 5 МП, f / 2.4
  • iPhone 4: 5 МП, f / 2,8
  • iPhone 4s: 8 МП, f / 2,4
  • iPhone 5: 8 МП, f / 2,4
  • iPhone 5s: 8 МП, f / 2.2 (аналогично iPhone 6, iPhone 6 Plus)
  • iPhone 6s Plus: 12 МП, f / 2.2 (аналогично iPhone SE, iPhone 6s)

К сожалению, новые камеры iPhone имеют другие характеристики (например, iPhone 7 или iPhone 8: 12 МП, f / 1.8), поэтому я сомневаюсь, что какие-либо из этих настроек калибровки камеры идеально подходят для них ...

person Pierre F    schedule 30.04.2018
comment
К сожалению, калибровка камеры вызвала другие проблемы в сочетании с AR.js: визуализированные объекты выглядят искаженными, а приведение лучей больше не является точным. Как будто внутри камеры использовалась другая проекционная матрица. - person Pierre F; 07.05.2018