LamaErasure产品系统

我要开发同款
ruirui-y2026年04月25日
8阅读

技术信息

语言技术
C++
系统类型
Windows算法模型
行业分类
人工智能机器深度学习

作品详情

行业场景

在进行计算机视觉(CV)模型训练时,构建干净、无杂物的高质量数据集是重中之重。然而,现有的开源图像修复(Inpainting)工具大多基于 Python 构建,配置复杂的虚拟环境、CUDA 版本和依赖库往往会耗费大量时间,极大地阻碍了工作效率。

LamaErasure 应运而生。它是一个完全用 C++ 编写、基于 Qt 构建的独立桌面客户端。通过直接调用 ONNX Runtime C++ API 加载 LaMa (Large Mask Inpainting) 模型,彻底摆脱了复杂的环境配置,开箱即用,专为高效、批量的数据集清洗和打标签辅助而设计。

功能介绍

⚡ 零配置环境,开箱即用:所有推理环境(ONNX Runtime, OpenCV)均已作为 ThirdLib 静态/动态链接集成,无需在目标机器上安装 Python 或任何深度学习框架。
🎨 丝滑的交互式画布 (InpaintCanvas):支持鼠标直接在图像上涂抹生成 Mask,实时调用后端 ONNX 模型进行图像无缝擦除与修复。
📦 生产级批处理引擎 (BatchWorker):内置多线程批处理模块,支持对整个文件夹的数据集进行自动化、流水线式的擦除与导出,极大提升数据清洗效率。
🤖 智能辅助模块 (AutoMask & AlignToReference):针对特定场景的数据集集成了自动掩码生成与图像对齐参考功能,减少人工重复劳动。
⚙️ 灵活配置 (ConfigReader):通过 config.ini 实现模型路径、画笔大小、硬件加速提供者(CPU/CUDA)的热重载。

项目实现

项目采用了职责分离的架构,确保 UI 的流畅与推理的高效:

模块名称 核心类 功能描述
GUI 层 MainWindow 承载主界面逻辑,管理菜单、工具栏与状态面板。
交互层 InpaintCanvas 继承自 QWidget,处理底层鼠标事件,实现高性能的 Mask 绘制与图像渲染。
AI 推理引擎 LamaOrt 核心算法类。封装了 ONNX Runtime C++ Session,负责将 OpenCV 的 cv::Mat 张量化,送入模型推理,并将输出还原为图像。
异步任务 BatchWorker / ThreadPool 避免模型推理阻塞主 UI 线程,利用线程池实现图像的异步处理与批量导出。
视觉处理 AutoMask / AlignToReference 基于 OpenCV 原生 API 提供图像的预处理、对齐与轮廓提取功能。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论