我个人对于任何计算机视觉相关需求的偏好是使用http://opencv.willowgarage.com/wiki/,然而,它不是为C#原生的。 然而,在快速搜索谷歌后,我发现http://www.emgu.com/wiki/index.php/Main_Page说:“Emgu CV是一个跨平台的.Net Package 英特尔OpenCV图像处理库。Allowing OpenCV functions to be called from .NET compatible languages such as C#、VB、VC++、IronPython等 Package 器可以在Mono中编译并在Linux / Mac OS X上运行。”
using FaceAiSharp;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
// adjust these lines to load your own image
using var hc = new HttpClient();
var groupPhoto = await hc.GetByteArrayAsync(
"https://raw.githubusercontent.com/georg-jung/FaceAiSharp/master/examples/obama_family.jpg");
var img = Image.Load<Rgb24>(groupPhoto);
var det = FaceAiSharpBundleFactory.CreateFaceDetector();
var faces = det.DetectFaces(img);
foreach (var face in faces)
{
Console.WriteLine($"Found a face with confidence {face.Confidence}: {face.Box}");
}
4条答案
按热度按时间8ulbf1ek1#
我个人对于任何计算机视觉相关需求的偏好是使用http://opencv.willowgarage.com/wiki/,然而,它不是为C#原生的。
然而,在快速搜索谷歌后,我发现http://www.emgu.com/wiki/index.php/Main_Page说:“Emgu CV是一个跨平台的.Net Package 英特尔OpenCV图像处理库。
Allowing OpenCV functions to be called from .NET compatible languages such as C#
、VB、VC++、IronPython等 Package 器可以在Mono中编译并在Linux / Mac OS X上运行。”tyg4sfes2#
既然Face已经被Facebook收购,我就使用Sky Biometry,它有一个C# .NET API,而且是免费的。
它是基于云的,显然需要互联网连接,但谁在乎呢。
0g0grzrc3#
我建议检查基于Python实现的Face Recognition(https://github.com/ageitgey/face_recognition)的Face Recognition.Net(https://github.com/takuya-takeuchi/FaceRecognitionDotNet)。两者都是MIT许可证的开源。
另一个选项是来自Microsoft的Cognitive Services - Face,您可以直接从Azure或从本地Docker使用它。在这里你可以找到更多关于它:https://learn.microsoft.com/en-us/azure/cognitive-services/face/
35g0bw714#
与此同时,有更多的库和方法可用。基于深度学习和ONNX,这些项目可能值得一看(都是MIT许可的):
System.Drawing
,包含作者提供的模型在一组照片中找到所有的面孔可以这样做使用FaceAiSharp:
dotnet new console
1.编辑
Program.cs
:dotnet run