Giter Site home page Giter Site logo

videobackgroundmatting's Introduction

简易视频背景处理功能

实现了部分图像处理功能和视频内人物抠除背景功能


Logo

视频人像抠图应用


查看Demo · 报告Bug · 提出新特性

目录

上手指南


功能实现

1.图像实现了 RGB,对比度等调整

"工具栏"->"文件"->"打开图片":进行编辑

  • 编辑图像

2.视频人物扣取

  • 打开视频

  • 剪切视频内人物对象

    "工具栏"->"文件"->"打开视频"->播放页右上方"剪切对象":等待处理

3.视频结果截图

输入

输出

4.视频处理性能指标

CPU:i5-7300HQ 4核2.5GHz GPU: 集成显卡Intel(R) HD Graphics 630

主线程编码

编码工具库 编码设备 视频分辨率 CPU占用 GPU占用 内存占用 编码平均耗时(ms/frame)
opencv(MPEG4) cpu 1440*1080 50% <1% 127MB 11.28
ffmpeg(H264) cpu 1440*1080 90% <1% 310MB 19.47
ffmpeg(H264) intel gpu 1440*1080 71% 38.9% 188MB 6.28

opencv解码 + 网络处理 + 解码 单线程 22.2.3

编码工具库 编码设备 视频分辨率 CPU占用 GPU占用 编码平均耗时(ms/frame)
opencv cpu 1440*1080 82% 32.8% 58.51 - > 56.17
ffmpeg(H264) intel gpu 1440*1080 96% 37.8% 50.60 -> 47.94

安装步骤


1.Clone the repo

git clone https://github.com/SourVoice/VideoBackgroundMatting.git

2.使用 VS2019/2017 打开.sln 文件

3.为项目配置所需环境

需要在项目的属性配置以下第三方库

开发的架构


使用 Visual Studio 2019 + QtCreator 进行开发

使用到的框架和第三方库

Qt5.11.3 GUI 框架

ncnn-20210322 高性能神经网络前向计算框架

VulkanSDK ncnn 依赖

Opencv4.0.1 ncnn 依赖

ffmpeg 视频解码依赖

贡献者

请阅读CONTRIBUTING.md 查阅为该项目做出贡献的开发者。

如何参与开源项目

贡献使开源社区成为一个学习、激励和创造的绝佳场所。你所作的任何贡献都是非常感谢的。

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

版本控制

该项目使用 Git 进行版本管理。您可以在 repository 参看当前可用版本和项目进度

作者

@SourVoice @shaoeric @luoshiyong

您也可以在贡献者名单中参看所有参与该项目的开发者。

版权说明

该项目签署了 MIT 授权许可,详情请参阅 LICENSE.txt

鸣谢

videobackgroundmatting's People

Contributors

shaoeric avatar sourvoice avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.