diff --git a/README.md b/README.md
index 77c6e558..5a54e460 100644
--- a/README.md
+++ b/README.md
@@ -10,28 +10,24 @@
-
+
---
-> πππ GPUPixel has added support for the Windows and Linux from [v1.1.0](https://github.com/pixpark/gpupixel/releases/tag/1.1.0), and now it is fully cross-platform supported: iOS | Android | Mac | Win | Linux ππ»ππ»
-
-[GPUPixel]() @ [PixPark](https://github.com/pixpark)
+> ππ»ππ» GPUPixel has added support for the **Windows** and **Linux** from [v1.1.0](https://github.com/pixpark/gpupixel/releases/tag/1.1.0). And now it is fully cross-platform supported: **iOS | Android | Mac | Win | Linux** πππ
## Introduction
β°οΈ GPUPixel is a high-performance image and video AI beauty effect library written in C++11, Extremely easy to compile and integrate, with a very small library size.
π It is GPU-based and comes with built-in beauty effects filters that can achieve commercial-grade results.
-π It supports platforms including `iOS`, `Android`, `Mac`, `Win`, `Linux` and it can theoretically be ported to any platform that supports OpenGL/ES.
+π It supports platforms including `iOS`, `Android`, `Mac`, `Win` and `Linux`. It can theoretically be ported to any platform that supports OpenGL/ES.
>π‘ The face key points detection currently utilizes the [Face++](https://www.faceplusplus.com.cn/) library, but it will be replaced with either **[VNN](https://github.com/joyycom/VNN)** or **[NCNN](https://github.com/Tencent/ncnn)** in the future.
-> The supported versions for Linux and Windows is expected to be completed before the Chinese 2024 New Year.
-
## Effects Preview
π **Video: YouTube | BiliBili**
@@ -39,9 +35,9 @@
| **Origin** | **Smooth** | **White** | **ThinFace** |
| :---------------------------------------------: | :-----------------------------------------------: | :----------------------------------------------: | :-----------------------------------------------: |
-|
|
|
|
|
+|
|
|
|
|
| **BigEye** | **Lipstick** | **Blusher** | **ON-OFF** |
-|
|
|
|
|
+|
|
|
|
|
## Architecture
![](./docs/image/arch-en.jpg)
@@ -92,23 +88,22 @@ This table compares the features supported by **GPUPixel** and **GPUImage**:
| Time Taken | 6ms | 5ms | - | - | - |
-## Library Size
+## 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!
-- Website
-- Docs
-- Deployment Docs
-- FAQ
+βοΈ Star us on GitHub, and be instantly notified for new releases!
## Quick Start
-### How to Build
-Compile using CMake frome v1.1.0. Please search for instructions on how to install and configure CMake.
-The generated libraries and applications will be located in the "output" directory of the project's root folder.
+### π° How to Build
+Compile using CMake frome v1.1.0. Please search for instructions on how to install and configure CMake.
+
+The generated libraries and app will be located in the "output" directory of the project's root folder.
+
### iOS
```shell
cd src
@@ -140,10 +135,10 @@ cmake --build . --config Debug
```
### Android
-1. Open the directory `src/android/java` in Android Studio
+Open the directory `src/android/java` in Android Studio.
### Windows
-You need install and config Cmake and MinGW64
+You need install and config Cmake and MinGW64 by yourself.
```shell
cd src
mkdir build
@@ -155,12 +150,12 @@ cmake -G "MinGW Makefiles" ..
# Build
mingw32-make
```
-### Linux (only test on ubuntu 22.04 lts)
+### Linux (Test on ubuntu)
```shell
# install cmake
sudo apt-get install cmake pkg-config
-# install glfw lib
+# install dependent lib
sudo apt-get install mesa-utils libglu1-mesa-dev freeglut3-dev mesa-common-dev libglfw3-dev
# start build
@@ -176,7 +171,7 @@ make
```
---
-### App demo
+### π΅ App demo
### iOS
Refer to `examples/ios`
### Mac
@@ -184,12 +179,13 @@ Refer to `examples/mac`
### Android
Refer to `examples/android` or `src/android/java`
### Window and Linux
-Refer to `examples/desktop`
+Refer to `examples/desktop`
+
The compilation method is the same as compiling the library.
-## How to Use
+## π How to Use
-**`.h` file**
+**Declear filters**
```c++
// video data input
@@ -199,7 +195,7 @@ std::shared_ptr face_beauty_filter_;
// video data output
std::shared_ptr target_raw_output_;
```
-**Create Filter, `.cpp` file**
+**Create and link filters**
```c++
gpupixel::GPUPixelContext::getInstance()->runSync([&] {
@@ -210,11 +206,12 @@ std::shared_ptr target_raw_output_;
face_beauty_filter_ = FaceBeautyFilter::create();
// Add filter
- source_raw_input_->addTarget(face_beauty_filter_)->addTarget(target_raw_output_);
+ source_raw_input_->addTarget(face_beauty_filter_)
+ ->addTarget(target_raw_output_);
}
```
-**Input Image Data I420 or RGBA**
+**Input YUV420P or RGBA**
```c++
// ...
@@ -261,17 +258,17 @@ target_raw_output_->setPixelsCallbck([=](const uint8_t *data,
// Output data callbck
```
-## Star History
+## π Star History
[![Star History Chart](https://api.star-history.com/svg?repos=pixpark/gpupixel&type=Date)](https://star-history.com/#pixpark/gpupixel&Date)
-## Contributing
-Welcome to contribute codeππ».
+## π Contributing
+Welcome to contribute code ππ».
-At the same time, please consider supporting Dify by sharing it on social media and at events and conferences.
+At the same time, please consider supporting GPUPixel by sharing it on social media and at events and conferences.
-## Acknowledgement
+## πAcknowledgement
### Reference Project
1. [GPUImage](https://github.com/BradLarson/GPUImage)
2. [CainCamera](https://github.com/CainKernel/CainCamera)
diff --git a/README_cn.md b/README_CN.md
similarity index 100%
rename from README_cn.md
rename to README_CN.md
diff --git a/src/filter/beauty_face_unit_filter.cc b/src/filter/beauty_face_unit_filter.cc
index 6a6dc139..75544463 100755
--- a/src/filter/beauty_face_unit_filter.cc
+++ b/src/filter/beauty_face_unit_filter.cc
@@ -303,10 +303,10 @@ bool BeautyFaceUnitFilter::init() {
return false;
}
- grayImage_ = SourceImage::create(Util::getResourcePath("lookUpGray.png"));
- originImage_ = SourceImage::create(Util::getResourcePath("lookUpOrigin.png"));
- skinImage_ = SourceImage::create(Util::getResourcePath("lookUpSkin.png"));
- customImage_ = SourceImage::create(Util::getResourcePath("lookup2.png"));
+ grayImage_ = SourceImage::create(Util::getResourcePath("lookup_gray.png"));
+ originImage_ = SourceImage::create(Util::getResourcePath("lookup_origin.png"));
+ skinImage_ = SourceImage::create(Util::getResourcePath("lookup_skin.png"));
+ customImage_ = SourceImage::create(Util::getResourcePath("lookup_light.png"));
return true;
}
diff --git a/src/resources/lookUpCustom.png b/src/resources/lookup_custom.png
similarity index 100%
rename from src/resources/lookUpCustom.png
rename to src/resources/lookup_custom.png
diff --git a/src/resources/lookUpGray.png b/src/resources/lookup_gray.png
similarity index 100%
rename from src/resources/lookUpGray.png
rename to src/resources/lookup_gray.png
diff --git a/src/resources/lookup2.png b/src/resources/lookup_light.png
similarity index 100%
rename from src/resources/lookup2.png
rename to src/resources/lookup_light.png
diff --git a/src/resources/lookUpOrigin.png b/src/resources/lookup_origin.png
similarity index 100%
rename from src/resources/lookUpOrigin.png
rename to src/resources/lookup_origin.png
diff --git a/src/resources/lookUpSkin.png b/src/resources/lookup_skin.png
similarity index 100%
rename from src/resources/lookUpSkin.png
rename to src/resources/lookup_skin.png