检测失败:找不到资源

Detection failed: Resource not found

我正在使用 Azure Cognitive Service Face 开发一个 Android 应用来检测人脸。

我正在尝试重现 https://docs.microsoft.com/en-us/azure/cognitive-services/face/tutorials/faceapiinjavaforandroidtutorial

中的结果

我正在 Android Studio 中使用 Java 编码。

我正在使用可绘制文件夹中的图片并使用以下方法将其转换为位图:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.test_image);

我通过在另一个 imageView 中显示该位图来确保其正常工作imgV.setImageBitmap(bitmap);图像在 imageView 中正确显示。

然后我打电话给detectAndFrame(bitmap)

在行Face[] result = faceServiceClient.detect(params[0],true,false,null);

我收到异常 找不到资源

我想知道问题出在哪里。 非常感谢!

我找到了解决办法。结果是端点URL问题。

对于 Android Studio 中的 JAVA,请使用: https://LOCATION_SPECIFIED_WHEN_CREATING_THE_RESOURCE.api.cognitive.microsoft.com/face/v1.0/

例如生成人脸资源时选择west US 2,端点为:

https://westus2.api.cognitive.microsoft.com/face/v1.0/

如果给出了错误的端点,从客户端调用函数时可能会出现名为 "Resource not found" 的异常。

此外,不要忘记在端点地址中添加结束斜杠!

希望对您有所帮助。