按照董子的這篇博客中的介紹,到微軟牛津項目的網站申請到測試用的人臉識別Key,按照官方文檔的介紹,把wpf項目建好之后,按照一步步的流程下來就可以完成example中的功能了。但是這僅僅是個example,圖片不能太大,不然會出現溢出錯誤。之前關注過牛津項目,后來不知道竟然中文版的官網也出來了,只是中文的文檔翻譯的是在是太不堪入目了,不過這也保持了微軟的一貫的風格。
我的環境是:win7 64bit+VS2015+.Net4.5+C#
PS:最好把 drawingContext.Close();
移到RenderTargetBitmap 對象實例化的后面,並且在 faceWithRectBitmap.Render(visual);處加上try-catch。修改后代碼段如下:
1 RenderTargetBitmap faceWithRectBitmap = new RenderTargetBitmap( 2 (int)(bitmapSource.PixelWidth * resizeFactor), 3 (int)(bitmapSource.PixelHeight * resizeFactor), 4 96,96,PixelFormats.Pbgra32); 5 drawingContext.Close(); 6 try 7 { 8 faceWithRectBitmap.Render(visual); 9 } 10 catch (Exception ex) 11 { 12 MessageBox.Show(ex.ToString()); 13 }
下面是測試結果:

嘖嘖,不得不感嘆之前的宣傳畫師傅的畫工啊:

目前側臉還是識別不到位(亦或是我還沒找到側臉識別的用法?):
來一張二X的(其實我喜歡他的電影):

目前比較火的閱兵女方隊(最漂亮的那個妹子可能因為只有半邊臉在照片中,所以沒有識別出來):

項目源代碼:MicrosoftFaceAPI_src.7z
