我正在从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
子目录。但是,华硕Zenfone AR上没有此目录。我该怎么做才能使它正常工作?
tango_3d_reconstruction.h
中的文档说,循环关闭数据库可从Tango开发人员网站下载,但我在任何地方都找不到。我不能完全确定循环关闭数据库实际上应该做什么,但是如果没有它,应该有一种管理方法,对吗? 最佳答案
在https://developers.google.com/tango/downloads上上传的新版本库,其中包含丢失的文件。