Я создаю меши из наборов данных Tango, пытаясь поддержать Asus Zenfone AR. Мое приложение уже работает нормально на Lenovo Phab 2 Pro.
Первый шаг зовет Tango3DR_AreaDescription_createFromDataset
создать Tango3DR_AreaDescription
, Я вызываю функцию без указания loop_closure_database_path
во втором аргументе:
Tango3DR_Status res = Tango3DR_AreaDescription_createFromDataset(dataset_path.c_str(),
nullptr, //loop_closure_database_path
&area_description_raw,
progress_logger,
&num_api_calls);
В этой функции происходит сбой Zenfone AR, возможно, связанный с этой строкой logcat:
A/tango: loop_closure_file_reader_disk.cc:186 Check failed: generic::DirectoryExists(loop_closure_files_path) Provided root path for loop-closure files /sdcard/config does not exist.
Если я укажу пустой (но существующий) каталог для loop_closure_database_path
Я получаю похожий сбой:
A/tango: loop_closure_file_reader_disk.cc:293 Check failed: generic::DirectoryExists(descriptor_sub_path) Path for feature-descriptor type /sdcard/testing/lens_invariant_ocvfreak does not exist.
Интересно, что я вижу, что мой Phab 2 Pro на самом деле имеет каталог с именем /sdcard/config
включая различные файлы и lens_invariant_ocvfreak
подкаталог. Однако этот каталог отсутствует на моем Asus Zenfone AR.
Что я могу сделать, чтобы заставить это работать? Документация в tango_3d_reconstruction.h
говорит, что базу данных замыкания петли можно загрузить с сайта разработчиков Tango, но я нигде не могу ее найти. Я не совсем уверен, что на самом деле должна делать база данных с замыканием цикла, но должен быть способ обойтись без нее, правильно?
Новая версия библиотеки загружена на https://developers.google.com/tango/downloads который содержит отсутствующий файл.
Других решений пока нет …