.NET 人臉識別庫 ViewFaceCore
這是基於 SeetaFace6 人臉識別開發的 .NET 平台下的人臉識別庫
這是一個使用超簡單的人臉識別庫
這是一個基於 .NET Standard 2.0 開發的庫
這個庫已經發布到 NuGet ,你可以一鍵集成到你的項目
此項目可以免費商業使用
⭐、開源
開源協議:Apache-2.0
GitHub地址: ViewFaceCore
十分感謝您的小星星
一、示例
示例項目地址:WinForm 攝像頭人臉檢測
示例項目效果:
二、使用
一分鐘在你的項目里集成人臉識別
1. 創建你的 .NET 應用
.NET Standard >= 2.0
.NET Core >= 2.0
.NET Framework >= 4.6.1^2
2. 使用 Nuget 安裝 ViewFaceCore
- Author : View
- Version >= 0.1.1
此 Nuget 包會自動添加依賴的 C++ 庫,以及最精簡的識別模型。
如果需要其它場景的識別模型,請下載 SeetaFace6 模型文件。
3. 在項目中編寫你的代碼
- 按照 說明 自己編寫
- 或者參考以下代碼
簡單的調用示例
1 static void Main()
2 {
3 ViewFace viewFace = new ViewFace((str) => { Debug.WriteLine(str); }); // 初始化人臉識別類,並設置 日誌回調函數
4 viewFace.DetectorSetting = new DetectorSetting() { FaceSize = 20, MaxWidth = 2000, MaxHeight = 2000, Threshold = 0.5 };
5
6 // 系統默認使用的輕量級識別模型。如果對精度有要求,請切換到 Normal 模式;並下載需要模型文件 放入生成目錄的 model 文件夾中
7 viewFace.FaceType = FaceType.Normal;
8 // 系統默認使用5個人臉關鍵點。//不建議改動,除非是使用口罩模型。
9 viewFace.MarkType = MarkType.Light;
10
11 #region 識別老照片
12 float[] oldEigenValues;
13 Bitmap oldImg = (Bitmap)Image.FromFile(@"C:\Users\yangw\OneDrive\圖片\Camera Roll\IMG_20181103_142707.jpg"/*老圖片路徑*/); // 從文件中加載照片 // 或者視頻幀等
14 var oldFaces = viewFace.FaceDetector(oldImg); // 檢測圖片中包含的人臉信息。(置信度、位置、大小)
15 if (oldFaces.Length > 0) //識別到人臉
16 {
17 { // 打印人臉信息
18 Console.WriteLine($"識別到的人臉數量:{oldFaces.Length} 。人臉信息:\n");
19 Console.WriteLine($"序號\t人臉置信度\t位置X\t位置Y\t寬度\t高度");
20 for (int i = 0; i < oldFaces.Length; i++)
21 {
22 Console.WriteLine($"{i + 1}\t{oldFaces[i].Score}\t{oldFaces[i].Location.X}\t{oldFaces[i].Location.Y}\t{oldFaces[i].Location.Width}\t{oldFaces[i].Location.Height}");
23 }
24 Console.WriteLine();
25 }
26 var oldPoints = viewFace.FaceMark(oldImg, oldFaces[0]); // 獲取 第一個人臉 的識別關鍵點。(人臉識別的關鍵點數據)
27 oldEigenValues = viewFace.Extract(oldImg, oldPoints); // 獲取 指定的關鍵點 的特徵值。
28 }
29 else { oldEigenValues = new float[0]; /*未識別到人臉*/ }
30
留言
張貼留言