All Projects → Talento90 → Imgart

Talento90 / Imgart

Licence: mit
🎨 IMGART it's a simple, fast and reliable HTTP service for image processing based on filters and profiles

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Imgart

Unipi
Serving content from a git repository via HTTPS (including let's encrypt provisioning) as MirageOS unikernel
Stars: ✭ 46 (-16.36%)
Mutual labels:  http-server
Serve Dir
"python -m SimpleHTTPServer" but FAST
Stars: ✭ 49 (-10.91%)
Mutual labels:  http-server
Images Web Crawler
This package is a complete tool for creating a large dataset of images (specially designed -but not only- for machine learning enthusiasts). It can crawl the web, download images, rename / resize / covert the images and merge folders..
Stars: ✭ 51 (-7.27%)
Mutual labels:  image-processing
Op rbf
Optimized Recursive Bilateral Filter
Stars: ✭ 47 (-14.55%)
Mutual labels:  image-processing
Image Denoising Benchmark
Benchmarking Denoising Algorithms with Real Photographs
Stars: ✭ 49 (-10.91%)
Mutual labels:  image-processing
Cropper
⚠️ [Deprecated] No longer maintained, please use https://github.com/fengyuanchen/jquery-cropper
Stars: ✭ 7,825 (+14127.27%)
Mutual labels:  image-processing
Vaxic
Node HTTP server framework
Stars: ✭ 45 (-18.18%)
Mutual labels:  http-server
Sunglass
Convert image into a given color palette
Stars: ✭ 54 (-1.82%)
Mutual labels:  image-processing
Generator Http Fake Backend
Yeoman generator for building a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Stars: ✭ 49 (-10.91%)
Mutual labels:  http-server
Opencv Face Filters
Snapchat-like Face Filters in OpenCV
Stars: ✭ 51 (-7.27%)
Mutual labels:  image-processing
Xxm
Combine Delphi and HTML code in the same source files to compile a website into a library that runs on IIS, Apache httpd, CGI, SCGI, on http.sys or raw no-frills HTTP...
Stars: ✭ 47 (-14.55%)
Mutual labels:  http-server
Facer
Simple (🤞) face averaging (🙂) in Python (🐍)
Stars: ✭ 49 (-10.91%)
Mutual labels:  image-processing
Pytorch Ssim
pytorch structural similarity (SSIM) loss
Stars: ✭ 1,058 (+1823.64%)
Mutual labels:  image-processing
Inpainting
Criminisi et al's region inpainting algorithm in C++
Stars: ✭ 46 (-16.36%)
Mutual labels:  image-processing
Pixelizator
Swift/Python image pixelizer 🖼️.
Stars: ✭ 53 (-3.64%)
Mutual labels:  image-processing
Java Thumbnailer
An extensible java library to create thumbnails of different file types (image, text)
Stars: ✭ 45 (-18.18%)
Mutual labels:  image-processing
Qtwebapp
QtWebApp is a HTTP server like Java servlets, written in C++ with the Qt framework.
Stars: ✭ 50 (-9.09%)
Mutual labels:  http-server
Bisweb
This is the repository for the BioImage Suite Web Project
Stars: ✭ 54 (-1.82%)
Mutual labels:  image-processing
Fast Near Duplicate Image Search
Fast Near-Duplicate Image Search and Delete using pHash, t-SNE and KDTree.
Stars: ✭ 54 (-1.82%)
Mutual labels:  image-processing
Gait Recognition
Distance Recognition of a Human Being with Deep CNN's
Stars: ✭ 51 (-7.27%)
Mutual labels:  image-processing

IMGART Build Status Go Report Card

logo

IMGART it's an HTTP service for image processing based on filters and profiles.

Documentation: https://imgart.herokuapp.com/api/v1/docs

Features

  • Image manipulation
  • Image caching (Redis)
  • Predefined Profiles (MongoDB)
  • API Documentation (Swagger Specification)
  • Error Handling
  • Docker
  • Debugging using Delve and Docker
  • Makefile
  • Testing
  • Graceful shutdown
  • Healthcheck

Docker Support

  • Dockerfile (Development)
  • Dockerfile.CI (Production)
  • docker-compose.yml (Run application)
  • docker-compose.debug.yml (Run application with delve for debugging)

Setup Project

  • Clone repository: git clone [email protected]:Talento90/imgart.git
  • Install dependencies: make deps
  • Run using docker: docker-compose up or make docker
  • Open application: open http:localhost:4005

Usage

{host}/api/v1/images?imgSrc={0}&profile={1}&filters={2}

  • host: Server address
  • imgSrc: Image URL
  • profile: Profile we want to apply
  • filters: List of filters to process

Example

https://imgart.herokuapp.com/api/v1/images?imgSrc=https://goo.gl/mq7yPD&profile=example&filters=[{"id":"rotate","parameters":{"angle":-90}}]

Result

result

Effects

The engine behind image manipulation is the fabulous library: github.com/disintegration/

Available Effects

Effect JSON Result
overlay {"id":"overlay","parameters":{"position":[25,75],"url":"https://goo.gl/UBrXeo","opacity":100}} overlay
resize {"id":"resize","parameters":{"width":25,"height":50,"filter":"linear"}} resize
crop {"id":"crop","parameters":{"rectangle":[0,0,202,150]}} crop
rotate {"id":"rotate","parameters":{"angle":-90,"bgcolor":"transparent"}} rotate
blur {"id":"blur","parameters":{"sigma":0.9} blur
brightness {"id":"brightness","parameters":{"percentage":-50}} brightness
contrast {"id":"contrast","parameters":{"percentage":100}} contrast
gamma {"id":"gamma","parameters":{"gamma":0.2}} gamma

It's possible to combine multiple effects:

/api/v1/images?imgSrc=https://raw.githubusercontent.com/Talento90/imgart/master/assets/gopher.png&filters=[{"id":"overlay","parameters":{"position":[25,75],"url":"https://goo.gl/UBrXeo"}},{"id":"overlay","parameters":{"position":[22,-35],"url":"https://goo.gl/aEkkDh"}}, {"id":"crop","parameters":{"rectangle":[0,0,202,150]}}]

result

Profiles

If you don't want to specify filters in URL, you can create a profile with all pre configured filters and then use it in query parameters &profile={profile-id}.

Create Profile

POST /api/v1/profiles

{
    "id": "my-profile",
    "filters": [
        { "id": "brightness", "parameters":{ "percentage":0.3}},
        { "id": "crop", "parameters":{"rectangle":[0,0,100,200]}}
    ]
}

Using profile in query parameters

GET /api/v1/images?imgSrc={image url}&profile=my-profile

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].