# matting-onnx-java **Repository Path**: jackeys/matting-onnx-java ## Basic Information - **Project Name**: matting-onnx-java - **Description**: 发丝级人像抠图,背景替换 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 11 - **Created**: 2024-11-26 - **Last Updated**: 2024-11-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Java 发丝级人像抠图,背景替换 这是一个使用 ONNX Runtime 在 Java 中实现的高质量人像抠图解决方案。该项目能够执行发丝级别的分割,非常适用于需要精确图像编辑和背景替换的应用场景。 ## 特性 - 发丝级别的人像分割 - ONNX 模型集成(rvm_mobilenetv3_fp32.onnx) - 背景替换功能 - 集成 OpenCV 进行图像处理 - GPU 加速支持 - RESTful API 接口 ## 环境要求 - Java 17 或更高版本 - Maven - 支持 CUDA 的 GPU(用于 GPU 加速) ## 依赖 - Spring Boot 2.7.2 - ONNX Runtime GPU 1.17.0 - OpenCV 4.7.0-0 ## 使用方法 ### API 接口 项目提供了两个主要的 API 接口用于人像抠图: 1. 使用纯色背景抠图 - 接口:`POST /api/portraitMattingBGR` - 参数: - `originalImage`: 原始图像文件(MultipartFile) - `b`: 背景蓝色通道值(0-255) - `g`: 背景绿色通道值(0-255) - `r`: 背景红色通道值(0-255) - 返回:处理后的图像(JPEG格式) 2. 使用自定义背景图抠图 - 接口:`POST /api/portraitMatting` - 参数: - `originalImage`: 原始图像文件(MultipartFile) - `backgroundImage`: 背景图像文件(MultipartFile) - 返回:处理后的图像(JPEG格式) ### 示例请求 1. 使用纯色背景图像合成 127.0.0.1:8083/api/portraitMattingBGR ![输入图片说明](BGR.png) ![输入图片说明](BGR1.jpeg) 2. 使用背景图像合成 127.0.0.1:8083/api/portraitMatting ![输入图片说明](bg.png) ![输入图片说明](response.jpeg) ![输入图片说明](response1.jpeg) 如果对您有所帮助欢迎star 如有疑问,请联系 ![输入图片说明](%E5%BE%AE%E4%BF%A1%E4%BA%8C%E7%BB%B4%E7%A0%81%E5%B0%8F.png) ​