All Projects → willdady → Emosaic

willdady / Emosaic

Licence: mit
Mosaic image generator written in Rust!

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Emosaic

Google Images Download
Python Script to download hundreds of images from 'Google Images'. It is a ready-to-run code!
Stars: ✭ 7,815 (+9203.57%)
Mutual labels:  command-line-tool, image-processing
Menyoki
Screen{shot,cast} and perform ImageOps on the command line 🌱 🏞️
Stars: ✭ 255 (+203.57%)
Mutual labels:  command-line-tool, image-processing
Triangle
Convert images to computer generated art using delaunay triangulation.
Stars: ✭ 1,838 (+2088.1%)
Mutual labels:  generative-art, image-processing
Blendit
🖼 Blend images with text and generate amazing looking posters.
Stars: ✭ 68 (-19.05%)
Mutual labels:  command-line-tool, image-processing
Vape
full width aesthetics
Stars: ✭ 80 (-4.76%)
Mutual labels:  command-line-tool
Pyscenedetect
🎥 Python and OpenCV-based scene cut/transition detection program & library.
Stars: ✭ 1,203 (+1332.14%)
Mutual labels:  image-processing
Zzart
Abstract Art Evolution
Stars: ✭ 75 (-10.71%)
Mutual labels:  generative-art
Fbi
Node.js workflow tool
Stars: ✭ 74 (-11.9%)
Mutual labels:  command-line-tool
Lensfunpy
📷 Lens distortion correction for Python, a wrapper for lensfun
Stars: ✭ 83 (-1.19%)
Mutual labels:  image-processing
Sampler
Tool for shell commands execution, visualization and alerting. Configured with a simple YAML file.
Stars: ✭ 9,203 (+10855.95%)
Mutual labels:  command-line-tool
Spam Bot 3000
Social media research and promotion, semi-autonomous CLI bot
Stars: ✭ 79 (-5.95%)
Mutual labels:  command-line-tool
Uploadcare Php
PHP API client that handles uploads and further operations with files by wrapping Uploadcare Upload and REST APIs.
Stars: ✭ 77 (-8.33%)
Mutual labels:  image-processing
Gcalcron
Schedule shell commands execution through Google Calendar
Stars: ✭ 81 (-3.57%)
Mutual labels:  command-line-tool
Imgflo
Node-based image processing with GEGL and Flowhub
Stars: ✭ 75 (-10.71%)
Mutual labels:  image-processing
Data processor
数据algorithm & 分析算法
Stars: ✭ 83 (-1.19%)
Mutual labels:  image-processing
Simple Deflicker
A lightweight and easy to use tool for deflickering timelapse image sequences.
Stars: ✭ 75 (-10.71%)
Mutual labels:  image-processing
Phimpme Ios
Phimp.me - Photo Image Editor and Sharing App. Phimp.me is a Photo App for iOS that aims to replace proprietary photo applications. It offers features such as taking photos, adding filters, editing images and uploading them to social networks.
Stars: ✭ 79 (-5.95%)
Mutual labels:  image-processing
Litiv
C++ implementation pool for computer vision R&D projects.
Stars: ✭ 82 (-2.38%)
Mutual labels:  image-processing
Oiio
Reading, writing, and processing images in a wide variety of file formats, using a format-agnostic API, aimed at VFX applications.
Stars: ✭ 1,216 (+1347.62%)
Mutual labels:  image-processing
Dipdemo
All the algorithms in the book "Digital Image Processing and Machine Vision" C++ code; test under VS2013, use MFC as the interactive interface to realize the operation of the input image, covering all the basic image processing algorithms, it is worth learning!
Stars: ✭ 78 (-7.14%)
Mutual labels:  image-processing

emosaic

Mosaic generator written in Rust!

Building

To build make sure you have rust installed.

cargo build --release

Once compiled, the binary can be found at target/release/emosaic in the repository root.

Usage

The command expects a path to a directory containing square 'tile' images and a source image.

emosaic /path/to/tile/images/ source.png

Modes

The strategy used to generate the mosaic is controlled by the -m, --mode option.

1to1 (Default)

For each pixel in the source image a tile with the nearest matching average color will be emitted.

Assuming a source image with dimensions 100x100 and default tile size of 16 the output image will be 1600x1600.

4to1

For every 2x2 pixels one tile will be emitted. Tiles are divided into 2x2 segments and the average colour of each segment is stored. The tile with the nearest average color in each segment to the target pixels will be chosen. This mode may provide smoother transitions between tile images and works best if you have a large tile set.

Assuming a source image with dimensions 100x100 and default tile size of 16 the output image will be 800x800.

random

The source image is not analysed and tiles are simply randomized in the output. This mode is best combined with the -t, --tint-opacity option to overlay the source image on top of the output. If your source image only contains a few colors (like a logo) this is the mode you want.

Assuming a source image with dimensions 100x100 and default tile size of 16 the output image will be 1600x1600.

Output path

By default the resulting image will be output to the current directory as output.png. You can specify the output file with the -o, --output option e.g.

emosaic /path/to/tile/images/ source.png -o /foo/bar/myimage.png

Output format is always PNG.

Controlling tile size

Each 'tile' in the output image will be 16x16 by default. Provide a custom size with the -s, --tile-size option. Note the size of your source image and tile size dictate the final size of your output image. For example, if your source image is 100x200 and you specify a tile size of 32 with the default mode 1to1 the output image will be 3200x6400! So be careful!

emosaic /path/to/tile/images/ source.png -s 32

Tinting

Use the tinting option, -t, --tint-opacity, to control the transparency of the source image overlayed on top of the the output mosaic. This can be useful to push the overall color of each tile closer to the color(s) it was sampled from in the source image. Value must be between 0 and 1. Default is 0.

emosaic /path/to/tile/images/ source.png -t 0.5
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].