我使用Android Studio进行编码,在tensorflowObjectDetection示例中,我注释了@Disable
并添加了我们的Vuforia密钥,而当我运行该程序时,它崩溃了。我将其范围缩小为以下代码:
private void initTfod() {
int tfodMonitorViewId = hardwareMap.appContext.getResources().getIdentifier(
"tfodMonitorViewId", "id", hardwareMap.appContext.getPackageName());
TFObjectDetector.Parameters tfodParameters = new TFObjectDetector.Parameters(tfodMonitorViewId);
tfod = ClassFactory.getInstance().createTFObjectDetector(tfodParameters, vuforia);
tfod.loadModelFromAsset(TFOD_MODEL_ASSET, LABEL_GOLD_MINERAL, LABEL_SILVER_MINERAL);
}
通过注释最下面的两行,它不会崩溃,但不明白为什么。
答案 0 :(得分:0)
弄清楚了。 vuforia需要更多的时间来初始化,所以我们这样做:
robot.initVuforia(hardwareMap);
while(robot.vuforiaLoaded == false && !isStopRequested()){
}
if (ClassFactory.getInstance().canCreateTFObjectDetector()) {
robot.initTfod(hardwareMap);
} else {
telemetry.addData("Sorry!", "This device is not compatible with TFOD");
}