使用微软认知服务进行人脸识别

最近在搞一我的脸识别的功能,使用了微软的认知服务,一下讲一个我遇到的小问题。api

首先添加相关相应的NuGet:Microsoft.ProjectOxford.Faceblog

而后构造FaceServiceClient并调用DetectAsync方法识别人脸信息。ip

构造FaceServiceClient须要一个key,以前公司申请好了,过程没什么问题。以后因为使用的是免费的API,调用次数受到限制,打算本身再申请一个帐户,过程麻烦的一B,实名制以及上传身份证等,,,开发

最后固然仍是搞定了并拿到了Key,然而神奇的事情发生了,更换了新key后代码不工做了,,,报异常以下:文档

因为对Azure不懂,觉得本身哪里没有设置好,也就没管了,直到今天微软给电话回访,嘿嘿,固然不能放弃解决问题的机会get

过程不罗嗦,最后发现我以前使用的是public FaceServiceClient(string subscriptionKey);来构造FaceServiceClient,那么另一个构造public FaceServiceClient(string subscriptionKey, string apiRoot);跟这个有啥区别呢?string

技术支持如此答道:若是不添加https://api.cognitive.azure.cn/face/v1.0 (apiRoot参数)默认访问的是global 版本。it

搜嘎,原来是我本身申请的是中国区的认知服务,公司那个key是国际版的,而中国区就须要指定apiRoot参数。。。io

能够参考连接:https://docs.azure.cn/zh-cn/articles/intelligence-analytics/aog-cognitive-services-qa-csharp-sdk-key-invalid sdk

然而我想说我开发时没找到这两个重载的区别,F12过去没有注释,官网里找文档和API也没有说明(难道是我没找到?!)

记录一下,但愿能帮到别人。

相关文章
相关标签/搜索