
效果展示项目介绍这是一个基于 C# 和 OpenCV 的人脸替换工具使用 ONNX Runtime 进行模型推理支持将一张图片中的人脸替换到另一张图片中。功能特点基于 ONNX Runtime 进行模型推理支持 CPU 推理使用 OpenCVSharp 进行图像处理简单直观的 Windows 窗体界面支持选择源图像和目标图像自动检测人脸并进行替换实时显示替换结果保存替换结果到本地文件技术栈.NET Framework 4.7.2OpenCvSharp 4.13.0ONNX Runtime 1.20.1模型文件项目需要以下 ONNX 模型文件应放置在weights文件夹中yoloface_8n.onnx- 人脸检测模型arcface_w600k_r50.onnx- 人脸特征提取模型inswapper_128.onnx- 人脸替换模型安装说明确保已安装 Visual Studio 2019 或更高版本克隆或下载本项目到本地打开FIRC.sln解决方案还原 NuGet 包依赖构建项目确保weights文件夹中包含所需的模型文件使用方法运行 FIRC 应用程序点击 “选择替换人脸图片” 按钮选择一张包含人脸的图片作为源图像点击 “选择原图片” 按钮选择一张包含人脸的图片作为目标图像点击 “开始替换” 按钮程序会自动检测人脸并进行替换替换结果会显示在右侧的图片框中结果会自动保存到目标图像所在目录的result.jpg文件中项目结构FIRC/ ├── BoundingBox.cs - 人脸边界框类 ├── Common.cs - 通用工具方法 ├── FaceDetectResult.cs - 人脸检测结果类 ├── FaceRecognizerArcface.cs - 人脸特征提取器 ├── FaceSwapper.cs - 人脸替换核心类 ├── Form1.cs - 主窗体界面 ├── Processor.cs - 处理器基类 ├── Vision.cs - 图像处理工具 ├── YoloFace.cs - 人脸检测器 ├── FIRC.csproj - 项目配置文件 ├── FIRC.sln - 解决方案文件 └── weights/ - 模型文件目录 ├── yoloface_8n.onnx ├── arcface_w600k_r50.onnx └── inswapper_128.onnx注意事项确保源图像和目标图像中都包含清晰的人脸模型文件较大请确保有足够的磁盘空间首次运行时模型加载可能需要一些时间人脸替换结果的质量取决于源图像和目标图像的质量以及人脸的角度和光照条件故障排除如果模型初始化失败请检查weights文件夹是否包含所有必需的模型文件如果人脸检测失败请尝试使用更清晰的图片如果替换结果不理想请尝试调整源图像和目标图像的角度和光照条件