# libovmatting **Repository Path**: mirrors_barry-ran/libovmatting ## Basic Information - **Project Name**: libovmatting - **Description**: A C++ library for Background Matting - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-06-16 - **Last Updated**: 2025-11-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # libovmatting A C++ library for Background Matting using openvino and deep learning models.
Now support models such as BackgroundMattingV2, MODNet.
## 1 Application scenes
...
## 2 License The code of libovmatting is released under the MIT License. ## 3 Development environment CentOS 7
Ubuntu
Windows 10
## 4 Usage ### 4.1 Install openvino
Please refer https://software.intel.com/content/www/us/en/develop/tools/openvino-toolkit.html
Use version: openvino_2021.2.185

### 4.2 Build libovmatting library and test program
Clone the project
$git clone https://github.com/kingpeter2015/libovmatting.git
#### 4.2.1 Ubuntu/CentOS $cd libovmatting
$mkdir build
$cmake ..
$make

Run the test program
$cd ./build/
$LD_LIBRARY_PATH=./:$(LD_LIBRARY_PATH) ./sample
#### 4.2.2 Windows 10 Install Visual Studio 2019
open Win64\ovmatting.sln
build and run in the Visual Studio IDE
## 5 About Source Code ### 5.1 Directory Structure * Win64: Windows Solution and projects
* include: contains header files. **ovmatter.h is api header file**
* libovmatting: CMakefiles for compile libovmatting.so under linux
* samples: four samples using libovmatting library
* share: contains model files which are used by openvino inference engine.
* src: contains source code files
main.cpp: startup point of demos
### 5.2 Please Attention !!! * 'include/ovmatter.h' is one only sdk header file which exposes api to applications. * libovmatting library only supports two matting method: METHOD_BACKGROUND_MATTING_V2 and METHOD_MODNET. They are defined in include/ovmatter.h * METHOD_BACKGROUND_MATTING_V2 method uses cnn model defined 'pytorch_mobilenetv2.bin/pytorch_mobilenetv2.xml'. * METHOD_MODNET method uses cnn model defined in 'modnet.bin/modnet.xml' if you want to use your own model, you can do following steps: * Add a enum item in enum OV_MATTER_API MattingMethod which is defined in include/ovmatter.h * declare and implement a new ovmatter class, and inherit 'MatterBaseImpl', then write a new cnn that uses your own models That's all, have fun ! ## 6 Reference OpenVINO https://software.intel.com/content/www/us/en/develop/tools/openvino-toolkit.html
BackgroundMattingV2 https://github.com/PeterL1n/BackgroundMattingV2
MODNet https://github.com/ZHKKKe/MODNet