7
GitHub - rocketlaunchr/showerglass: A soothing face filter where you can appreci...
source link: https://github.com/rocketlaunchr/showerglass
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
the project to show your appreciation.
Showerglass
A soothing face filter where you can appreciate the beauty but not fully identify the person. Useful for social applications, blogging etc.
Features
- Resizing (Caire, NearestNeighbor, BiLinear, CatmullRom)
- Face detection
- Showerglass filter over only face (delaunay triangulation)
Image credit: https://unsplash.com/photos/tCJ44OIqceU
Installation
go get -u github.com/rocketlaunchr/showerglass/core
import "github.com/rocketlaunchr/showerglass/core"
Usage
import "image/jpeg" import "os" import "github.com/rocketlaunchr/showerglass/core" f, err := os.Open("face.jpg") if err != nil { log.Fatalf("Error opening the file: %v", err) } defer f.Close() opts := showerglass.Options{ NewHeight: 100.0, NewWidth: 100.0, ResizeAlg: showerglass.CatmullRom, TriangleConfig: func(QRank, area int, Q float32, h, w int) *showerglass.Processor { if QRank < 1 { // only modify first detected face return &showerglass.Processor{ MaxPoints: 1500, BlurRadius: 4, } } return nil }, } masked, _, err := showerglass.FaceMask(f, opts) if err != nil { log.Fatalf("Error aplying filter: %v", err) } out, err := os.Create("masked.jpg") if err != nil { log.Fatalf("Error writing the file: %s", err) } err = jpeg.Encode(out, masked, &jpeg.Options{Quality: 100}) if err != nil { log.Fatalf("Error encoding to file: %s", err) }
Credits
- Endre Simo - One of the masters of Image Processing (in Go space) [worth following]
Other useful packages
- awesome-svelte - Resources for killing react
- dataframe-go - Statistics and data manipulation
- dbq - Zero boilerplate database operations for Go
- electron-alert - SweetAlert2 for Electron Applications
- google-search - Scrape google search results
- igo - A Go transpiler with cool new syntax such as fordefer (defer for for-loops)
- mysql-go - Properly cancel slow MySQL queries
- react - Build front end applications using Go
- remember-go - Cache slow database queries
- testing-go - Testing framework for unit testing
Legal Information
The license is a modified MIT license. Refer to LICENSE
file for more details.
© 2022 PJ Engineering and Business Solutions Pty. Ltd.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK