Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pixpark/gpupixel

Real-time image and video processing library similar to GPUImage, with built-in beauty filters, achieving commercial-grade beauty effects. Written in C++11 and based on OpenGL/ES.
https://github.com/pixpark/gpupixel

ai android beautyface face-detection filter gpu gpuimage image ios landmarks opengl thinface video webrtc

Last synced: 28 days ago
JSON representation

Real-time image and video processing library similar to GPUImage, with built-in beauty filters, achieving commercial-grade beauty effects. Written in C++11 and based on OpenGL/ES.

Awesome Lists containing this project

README

        




English |
简体中文


Build
·
Examples
·
Integration


GPUPixel Stars
GPUPixel Release
GPUPixel Stars

GPUPixel Stars


pixpark%2Fgpupixel | Trendshift

---

> Welcome to join us to make GPUPixel better by participating [discussions](https://github.com/pixpark/gpupixel/discussions), opening [issues](https://github.com/pixpark/gpupixel/issues/new/choose), submitting [PRs](https://github.com/pixpark/gpupixel/pulls) 👏.

## Introduction

⛰️ GPUPixel is a real-time, high-performance image and video filter library, extremely easy to compile and integrate with small library size.

🔑 GPUPixel is written in C++11 and is based on OpenGL/ES, incorporating a built-in beauty face filter that achieves commercial-grade beauty effects.

🔌 GPUPixel supports platforms including `iOS`, `Android`, `Mac`, `Win` and `Linux`. It can theoretically be ported to any platform that supports OpenGL/ES.

## Effects Preview

👉 **Video: YouTube | BiliBili**

| **Origin** | **Smooth** | **White** | **ThinFace** |
| :---------------------------------------------: | :-----------------------------------------------: | :----------------------------------------------: | :-----------------------------------------------: |
| | | | |
| **BigEye** | **Lipstick** | **Blusher** | **ON-OFF** |
| | | | |

## Architecture
![](./docs/image/arch-en.svg)

## Features

This table compares the features supported by **GPUPixel** and **GPUImage** and **Android-GPUImage**:

✅: Supported | ❌: Not supported | ✏️: Planning

| | [GPUPixel](https://github.com/pixpark/gpupixel) | [GPUImage](https://github.com/BradLarson/GPUImage) | [Android-GPUImage](https://github.com/cats-oss/android-gpuimage) |
| :-------------------- | :---------------------------------------------: | :------------------------------------------------: | :----------------------------------------------------------: |
| 📷 **Filters:** | ✅ | ❌ | ❌ |
| Skin Smoothing Filter | ✅ | ❌ | ❌ |
| Skin Whitening Filter | ✅ | ❌ | ❌ |
| Face Slimming Filter | ✅ | ❌ | ❌ |
| Big Eyes Filter | ✅ | ❌ | ❌ |
| Lipstick Filter | ✅ | ❌ | ❌ |
| Blush Filter | ✅ | ❌ | ❌ |
| More Build in Filter | ✅ | ✅ | ✅ |
| 🎬 **Input Formats:** | | | |
| YUV420P(I420) | ✅ | ❌ | ❌ |
| RGBA | ✅ | ✅ | ✅ |
| JPEG | ✅ | ✅ | ✅ |
| PNG | ✅ | ✅ | ✅ |
| NV21(for Android) | ✏️ | ❌ | ❌ |
| 🎥 **Output Formats:** | | | |
| RGBA | ✅ | ✅ | ✅ |
| YUV420P(I420) | ✏️ | ❌ | ❌ |
| 💻 **Platform:** | | | |
| iOS | ✅ | ✅ | ❌ |
| Mac | ✅ | ✅ | ❌ |
| Android | ✅ | ❌ | ✅ |
| Win | ✅ | ❌ | ❌ |
| Linux | ✅ | ❌ | ❌ |

## Performance
### iPhone
| - | iPhone 6P | iPhone 8 | iPhone X | iPhone 11 | iPhone 14 pro |
| :------------: | :-------: | :------: | :------: | :-------: | :-----------: |
| **CPU** | 5% | 5% | 3% | 3% | 3% |
| **Time Taken** | 10ms | 4ms | 3ms | 3ms | 3ms |
### Android
| - | Xiaomi 10 | Huawei Mate30 | Vivo | SAMSUNG | Google Pixel |
| :--------: | :-------: | :-----------: | :---: | :-----: | :----------: |
| CPU | 3% | 5% | - | - | - |
| Time Taken | 6ms | 5ms | - | - | - |

## Lib Size

| | iOS(.framework) | MacOS(.framework) | Android(.aar) |
| :---: | :-------------: | :---------------: | :-----------: |
| Size | 2.4 MB | 2.6 MB | 2.1 MB |

## Before You Start
⭐️ Star us on GitHub, and be instantly notified for new releases!

![](./docs/image/give-star.gif)

## Getting Started

See the doc: [Introduction](https://gpupixel.pixpark.net/guide/build) | [Build](https://gpupixel.pixpark.net/guide/build) | [Examples](https://gpupixel.pixpark.net/guide/demo) | [Integrated](https://gpupixel.pixpark.net/guide/integrated)

## Contributing

Welcome to join us to make GPUPixel better by participating [discussions](https://github.com/pixpark/gpupixel/discussions), opening [issues](https://github.com/pixpark/gpupixel/issues/new/choose), submitting [PRs](https://github.com/pixpark/gpupixel/pulls).

At the same time, please consider supporting GPUPixel by sharing it on social media and at events and conferences.

## Contributors

[![](https://opencollective.com/gpupixel/contributors.svg?width=890&button=false)](https://github.com/pixpark/gpupixel/graphs/contributors)

## Contact & Support
- [Doc](https://gpupixel.pixpark.net/) : Online documentation.
- [Issues](https://github.com/pixpark/gpupixel/issues/new/choose) : 👉 Github Issues.
- [Mail](mailto:[email protected]?subject=[GitHub]Questions%20About%20GPUPixel) : 👉 Send email to us.
- [WeChat]() :


wechat

## Acknowledgement
### Reference Project
1. [GPUImage](https://github.com/BradLarson/GPUImage)
2. [CainCamera](https://github.com/CainKernel/CainCamera)
3. [AwemeLike](https://github.com/ZZZZou/AwemeLike)
4. [VNN](https://github.com/joyycom/VNN)

## License
This repository is available under the [MIT License](https://github.com/pixpark/gpupixel?tab=MIT-1-ov-file#readme).