govips
imagick
Our great sponsors
govips | imagick | |
---|---|---|
5 | 3 | |
1,112 | 1,682 | |
- | 1.0% | |
7.1 | 3.3 | |
8 days ago | 28 days ago | |
Go | Go | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
govips
-
Just In Time Image Optimization at Reddit Scale
We chose to use govips which is a cgo wrapper around the libvips image manipulation library. The majority of new development for services in our backend is written using baseplate.go. But Go is not an ideal choice for media processing as it cannot keep up with the performance of native code. The most widely used image-processing libraries like libmagick are primarily written in C or C++. Speed was a major factor in selecting libvips in order to keep latency low on CDN cache misses for images. In our tests, libvips was 3–4 times faster than libmagick on basic image processing operations. Content-aware smart cropping was implemented by porting smartcrop.js to Go. This is the only operation implemented in pure Go.
- Image manipulation with Go
imagick
-
Golang library similar to Python's pillow
If you want my opinion on which one to use, I would recommend this one, as there exist bindings for a huge amount of languages.
- How to call C++ (wrapped with python) in Go
What are some alternatives?
libvips - A fast image processing library with low memory needs.
OpenCV - Open Source Computer Vision Library
OpenImageIO - Reading, writing, and processing images in a wide variety of file formats, using a format-agnostic API, aimed at VFX applications.
bimg - Go package for fast high-level image processing powered by libvips C library
FreeImage - A custom distribution of FreeImage, with a CMake-based build system. Used by the Athena Game Framework.
CImg - The CImg Library is a small and open-source C++ toolkit for image processing
imaginary - Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing
go-cairo - Go binding for the cairo graphics library
go-webp - Simple and fast webp library for golang
Boost.GIL - Boost.GIL - Generic Image Library | Requires C++14 since Boost 1.80
go-gd - Go bingings for GD (http://www.boutell.com/gd/)
GD - GD Graphics Library