當前位置: 妍妍網 > 碼農

.NET 輕松實作離線人臉辨識:ViewFaceCore

2024-06-30碼農

計畫介紹

ViewFaceCore是一個基於 SeetaFace6 的 .NET 人臉辨識解決方案。

計畫特點

  • 開源(MIT license)、免費、簡單的離線人臉辨識庫。

  • 跨平台(適用於 Windows、MacOS 和 Linux )。

  • .NET 框架 和 作業系統

    封裝完善的NuGet包

    獲取人臉資訊範例程式碼

    更多案例可以下載源碼檢視Demo。

    using SkiaSharp;
    using System;
    using ViewFaceCore.Core;
    using ViewFaceCore.Model;
    namespaceViewFaceCore.Demo.ConsoleApp
    {
    internal classProgram
    {
    privatereadonlystaticstring imagePath = @"images/Jay_3.jpg";
    staticvoidMain(string[] args)
    {
    usingvar bitmap = SKBitmap.Decode(imagePath);
    using FaceDetector faceDetector = new FaceDetector();
    FaceInfo[] infos = faceDetector.Detect(bitmap);
    Console.WriteLine($"辨識到的人臉數量:{infos.Length} 個人臉資訊:\n");
    Console.WriteLine($"No.\t人臉置信度\t位置資訊");
    for (int i = 0; i < infos.Length; i++)
    {
    Console.WriteLine($"{i}\t{infos[i].Score:f8}\t{infos[i].Location}");
    }
    Console.ReadKey();
    }
    }
    }

    辨識人臉並標記出來範例程式碼

    using System;
    using System.Drawing;
    using System.Linq;
    using ViewFaceCore;
    using ViewFaceCore.Core;
    using ViewFaceCore.Model;
    namespaceDemo
    {
    internal classProgram
    {
    privatereadonlystaticstring imagePath = @"images/Jay_3.jpg";
    privatereadonlystaticstring outputPath = @"images/Jay_out.jpg";
    staticvoidMain(string[] args)
    {
    usingvar bitmap = (Bitmap)Image.FromFile(imagePath);
    using FaceDetector faceDetector = new FaceDetector();
    FaceInfo[] infos = faceDetector.Detect(bitmap);
    //輸出人臉資訊
    Console.WriteLine($"辨識到的人臉數量:{infos.Length} 個人臉資訊:\n");
    Console.WriteLine($"No.\t人臉置信度\t位置資訊");
    for (int i = 0; i < infos.Length; i++)
    {
    Console.WriteLine($"{i}\t{infos[i].Score:f8}\t{infos[i].Location}");
    }
    //畫方框,標記人臉
    using (Graphics g = Graphics.FromImage(bitmap))
    {
    g.DrawRectangles(new Pen(Color.Red, 4), infos.Select(p => new RectangleF(p.Location.X, p.Location.Y, p.Location.Width, p.Location.Height)).ToArray());
    }
    bitmap.Save(outputPath);
    Console.WriteLine($"輸出圖片已保存至:{outputPath}");
    Console.WriteLine();
    }
    }
    }

    功能截圖

    開源地址

    https://github.com/ViewFaceCore/ViewFaceCore

    - EOF -

    推薦閱讀 點選標題可跳轉

    看完本文有收獲?請轉發分享給更多人

    推薦關註「DotNet」,提升.Net技能

    點贊和在看就是最大的支持❤️