如何使用微软认知服务
使用前的准备
-
获取SDK:
新建项目,在引用项上右击点击管理Nuget包程序包,在浏览里面搜索并下载下列程序包,这些引用分别对应着微软牛津计划的认知服务。(情感识别、人脸识别、计算机视觉等)。
注:使用Nuget包需要下载安装nuget插件(https://www.nuget.org/) -
获取认知服务订阅密钥:
点击下列链接来Create你的认知服务密钥:
(https://azure.microsoft.com/en-us/try/cognitive-services/)
注:其实光生成密钥也没用,你还需要在Azure中开认知通服务(https://portal.azure.com)Azure的月租,只能呵呵。
但是有个好消息,就是新注册的用户可以享受免费一个月Azure的体验.
开始使用(以人脸识别为例)
服务调用
<pre><code>
private string key_face = "867218d1154f4d9eb91198fe6092ebf3";
FaceAttributeType[] faceAttributes=new FaceAttributeType[] {
FaceAttributeType.Age,
FaceAttributeType.Gender,
FaceAttributeType.Smile,
FaceAttributeType.FacialHair,
FaceAttributeType.HeadPose,
FaceAttributeType.Glasses
};
public async Task<Face[]> GetFaces(StorageFile photo)
{
var stream = await photo.OpenAsync(FileAccessMode.Read);
var stream_send = stream.CloneStream();
var image = new BitmapImage();
image.SetSource(stream);
FaceServiceClient faceClient = new FaceServiceClient(key_face);
var face_task = faceClient.DetectAsync(stream_send.AsStream(), true, true, faceAttributes);
return await face_task;
}
</code></pre>
获取图片
<pre><code>
public async Task<StorageFile> GetImageFromAlbum()
{
FileOpenPicker fop = new FileOpenPicker();
fop.ViewMode = PickerViewMode.Thumbnail;
fop.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
fop.FileTypeFilter.Add(".jpg");
fop.FileTypeFilter.Add(".png");
fop.FileTypeFilter.Add(".bmp");
StorageFile photo = await fop.PickSingleFileAsync();
return photo;
}
</code></pre>
使用服务
<pre><code>
StorageFile file = await GetImageFromAlbum();
var faces = await cognitiveService.GetFaces(file);
</code></pre>
附: