修图神奇Lama Cleaner WPF桌面端:基于TorchSharp的Lama Cleaner重制版

19 阅读3分钟

一、前言:为什么需要本地化图像修复工具?

在图像处理工作中,我们经常会遇到需要去除图片中多余元素的场景。无论是去除水印、消除路人甲,还是清理背景杂物,传统的PS操作都需要耗费大量时间。虽然云端AI工具层出不穷,但在处理敏感图片时,本地运行的离线工具才是更安全可靠的选择。

今天给大家带来一款基于TorchSharpOpenCvSharp开发的Lama Cleaner桌面版,具有以下核心优势:

  • 🚀 完全离线运行,保护隐私安全
  • 💻 自带big-lama.pt模型文件,无需额外下载
  • ⚙️ 支持CPU/GPU自动切换(替换DLL即可)
  • 🖌️ 直观的画笔交互操作
  • 📦 绿色版,解压即用

1x2scrap.png

二、快速上手:三步完成图像修复

1. 下载与安装

访问项目Release页面(github.com/dongfangzhi…),下载最新发布的压缩包(约250MB)。解压后目录结构如下:

LamaCleaner/
├── LamaCleaner.exe        # 主程序
├── big-lama.pt           # 内置模型文件
└── runtimes/              # 依赖库
└── langs/                # 语言包

2. 基础使用教程

步骤1:打开待处理图片

点击工具栏的"加载图片"按钮,选择需要修复的图片文件(支持JPG/PNG格式)

2x2scrap.png

步骤2:涂抹需要修复的区域

  • 使用滑块或者点击加减按钮调整画笔大小
  • 按住左键涂抹需要消除的区域

3x2scrap.png

步骤3:开始处理与保存

点击"运行"按钮,等待处理完成后,使用"另存为"保存结果。下方是处理完成效果:

4x2scrap.png

3. 高级功能说明

新增亮点功能:批量处理多张图片

当需要处理同一位置水印的多张图片时:

  1. 在图片绘制蒙版后
  2. 通过"批量处理"按钮选择多张待处理图片
  3. 程序将自动应用相同蒙版进行批量化处理

5x2scrap.png

使用场景示例

  • 处理同一相机拍摄的系列照片水印
  • 消除多张截图的固定位置LOGO
  • 批量清理证件照背景杂物

注意事项

  • 待处理图片宽高必须与绘制蒙版的图像保持一致

三、技术亮点解析

本项目基于.NET 8 WPF框架开发,通过TorchSharp调用PyTorch模型,使用OpenCvSharp处理图像操作。相较于原Python实现,具有以下改进:

  1. 依赖简化:从20+Python依赖缩减到单个可执行文件
  2. 启动加速:冷启动时间缩短至3秒内
  3. 内存优化:采用Tensor池化技术降低内存占用

GPU支持方案设计:

// 自动检测CUDA可用性
if (Torch.IsCudaAvailable()) 
{
    _device = TorchDevice.CUDA;
    Log("检测到CUDA设备,已启用GPU加速");
}
else
{
    _device = TorchDevice.CPU;
}

四、常见问题解答

Q:处理大图时程序无响应?
A:这是正常现象,建议:

  • 处理前先缩小画布尺寸
  • 分区域逐步修复
  • 启用GPU加速

Q:支持哪些图像格式?
A:目前支持JPG/PNG/BMP格式,最大分辨率支持8192x8192

五、结语与资源

经过实测,在i7-12700H + RTX3060配置下,纯CPU运行,也能在3秒内完成常规修复任务。

立即下载体验:github.com/dongfangzhi…

欢迎在评论区留下你的使用体验和建议,共同完善这款开源工具!如果觉得项目有用,别忘了给GitHub仓库点个Star⭐~