Images
Formats
- Pixel-fitting - "Most icons and logos are stored in vector image files that specify perfect mathematical representations of their shapes. Unlike JPG and PNG images, vector graphic files don’t tell the computer how to display their contents in pixels that can be displayed on a screen; for a vector graphic to be displayed, the computer has to perform a translation from the mathematical vectors into something that can be displayed with pixels on the screen."
- About those vector icons · Pushing Pixels - "Listing “one [SVG] icon, infinite sizes” as one of the advantages, it seems to be a great solution, but only for duotone, or more precisely purely black and white, icons. In addition, it completely fails to address the giant elephant in the room – what to do for complex icons that do not scale well to small sizes? Type engines have two major approaches to solve this problem – embedding bitmaps and font hinting."
- Photography Stack Exchange: terminology - What does "frequency" mean in an image?
Vector
- https://en.wikipedia.org/wiki/Vector_graphics - the set of mechanisms for creating visual images directly from geometric shapes defined on a Cartesian plane, such as points, lines, curves, and polygons. These mechanisms may include vector display and printing hardware, vector data models and file formats, and software based on these data models (especially graphic design software, Computer-aided design, and Geographic information systems). Vector graphics are an alternative to raster graphics, each having advantages and disadvantages in general and in specific situations.
SVG
Articles
- How media queries allow you to optimize SVG icons for several sizes - Opera, Oct 12, 2009
- About those vector icons - November 4th, 2011
- SVG, Use it Already - Apr 3rd, 2012
- How to work with Scalable Vector Graphics (SVG) in HTML 5
- Creating SVG vector graphics for maximum browser compatibility - Oct 19, 2012
- SVG and Browser Support (Part 2) - using object to display png fallback for ie8
- Ways to embed a Clickable SVG-Logo into Your Website - Sep 10 2012
- http://codepen.io/adrianosmond/pen/LCogn - jul 2013 [2]
Tools
- https://github.com/RazrFalcon/svgcleaner - svgcleaner could help you to clean up your SVG files from the unnecessary data.
- https://github.com/scour-project/scour - an SVG optimizer/cleaner that reduces the size of scalable vector graphics by optimizing structure and removing unnecessary data written in Python.It can be used to create streamlined vector graphics suitable for web deployment, publishing/sharing or further processing.
- Professor Cloud - converts SVG into an HTML5 Canvas JavaScript function. It will work with any host, and I hope it helps people to experiment with Canvas. Most vector art packages (Illustrator, Inkscape etc) can export as SVG.
- canvas-svg - a set of related components that make canvas and SVG play together more. Notably, it allows you to save a canvas 2D context as SVG, and to have an SVG mirror of a canvas context.
- canvg is a SVG parser and renderer. It takes a URL to a SVG file or the text of an SVG file, parses it in JavaScript, and renders the result on a Canvas element. The rendering speed of the examples is about as fast as native SVG.
var c = document.getElementById('canvas'); var ctx = c.getContext('2d'); ctx.drawSvg(SVG_XML_OR_PATH_TO_SVG, dx, dy, dw, dh);
- JessyInk - a JavaScript that can be incorporated into an Inkscape SVG image containing several layers. Each layer will be converted into one slide of a presentation. Current features include: slide transitions, effects, an index sheet, a master slide and auto-texts like slide title, slide number and number of slides.
- MagicMarkup - Easily create interactive mockups in Inkscape, without adding inline JS!
- Vector Magic - Automatically convert bitmap images like JPEGs, GIFs and PNGs to the crisp, clean, scalable vector art of EPS, SVG, and PDF with the world's best auto-tracing software.
- 1x1px - Ever needed a 1x1 transparent PNG pixel?
- https://github.com/sammycage/lunasvg - standalone SVG rendering library in C++
Savage
Like Sass for SVG.
Repos
- Open Clip Art Library 2.0 (at 417M)
- Vecto2000 is a collection of high quality free Vector Art, Vector Icons, Vector Patterns and Photoshop Brushes
- http://www.vectorportal.com/
- http://www.allvectors.com/
- http://www.vecteezy.com/
- http://all-silhouettes.com/
- http://thevectorlab.com/
- http://stencils.io/ [4]
- use giraffe2svg
HVIF
- https://en.wikipedia.org/wiki/Haiku_Vector_Icon_Format - a vector storage format designed to store icons, specifically for Haiku.
TVG
Bitmap
- https://github.com/StanleySathler/bitmap-parser - a very simple Bitmap parser. The goal here is to understand how an image file works behind the scenes. I chose the Bitmap format because it often does not contain compression, so it is an easy starting point.
TIFF
GeoTIFF
- https://en.wikipedia.org/wiki/GeoTIFF - a public domain metadata standard which allows georeferencing information to be embedded within a TIFF file. The potential additional information includes map projection, coordinate systems, ellipsoids, datums, and everything else necessary to establish the exact spatial reference for the file. The GeoTIFF format is fully compliant with TIFF 6.0, so software incapable of reading and interpreting the specialized metadata will still be able to open a GeoTIFF format file.
An alternative to the "inlined" TIFF geospatial metadata is the *.tfw World File sidecar file format which may sit in the same folder as the regular TIFF file to provide a subset of the functionality of the standard GeoTIFF described here.
- Cloud Optimized GeoTIFF - A Cloud Optimized GeoTIFF (COG) is a regular GeoTIFF file, aimed at being hosted on a HTTP file server, with an internal organization that enables more efficient workflows on the cloud. It does this by leveraging the ability of clients issuing HTTP GET range requests to ask for just the parts of a file they need.
XBM
- https://en.wikipedia.org/wiki/X_BitMap - a plain text binary image format, for storing cursor and icon bitmaps used in the X GUI.[2] The XBM format is superseded by XPM, which first appeared for X11 in 1989.
XPM
farbfeld
JPG
Reference
- JPEGclub.org develops new JPEG features and maintains the Independent JPEG Group's (IJG) software.
Optimisation
- jpegoptim is a utility for optimizing JPEG files. It provides lossless optimization (based on optimizing the Huffman tables) and "lossy" optimization based on setting a maximum quality factor.
- http://www.linuxcertif.com/man/1/jpegoptim/
- Google advises; run with the --strip-all option
- Optimizing images for web with Google Page Speed and jpegoptim - 27 June, 2009
"when your JPEG image is under 10K, it’s better to be saved as baseline JPEG (estimated 75% chance it will be smaller) for files over 10K the progressive JPEG will give you a better compression (in 94% of the cases)"
- http://calendar.perfplanet.com/2012/progressive-jpegs-a-new-best-practice/
- http://www.bookofspeed.com/chapter5.html
- Image Optimization
- http://www.smushit.com/ysmush.it/ - Yahoo optimisation service
- pngquant is a command-line utility and a library for converting 24/32-bit PNG images to paletted (8-bit) PNGs. The conversion reduces file sizes significantly (often as much as 70%) and preserves full alpha transparency. [7]
- https://blogs.dropbox.com/tech/2016/07/lepton-image-compression-saving-22-losslessly-from-images-at-15mbs/ [9]
- https://github.com/dropbox/lepton - a tool and file format for losslessly compressing JPEGs by an average of 22%.
- https://github.com/victorvde/jpeg2png - silky smooth JPEG decoding
- https://github.com/OmarShehata/jpeg-sandbox - Interactively edit individual DCT blocks in any JPEG image in the browser.
Other
GIF
- https://github.com/ImageOptim/gifski - GIF encoder based on libimagequant (pngquant, gifquant?). Squeezes maximum possible quality from the awful GIF format.
- http://gifpow.com/
- http://www.gifhell.com/
- http://mathgifs.blogspot.co.uk/ [11]
- http://gifctrl.com/n0
- http://bib993.deviantart.com/gallery/43713210
- http://dvdp.tumblr.com/
- http://beesandbombs.tumblr.com/
- http://hexeosis.tumblr.com/
- http://insideinsides.blogspot.co.uk/
- http://1041uuu.tumblr.com/
- http://gfycat.com - gif to video for better performance [12]
- https://github.com/Wohlstand/wheel-maker-tool - a small command-line tool that creates a spining wheel GIF animationfrom any given picture.
PNG
- https://github.com/glennrp/libpng - LIBPNG: Portable Network Graphics support, official libpng repository
- http://i-am-fat.org/PNGRotateTrick - better compression of vertical gradients
- http://alphapun.ch - make transparent
- https://github.com/DavidBuchanan314/ambiguous-png-packer - Craft PNG files that appear completely different in Apple software
- A new protocol and tool for PNG file attachments
- https://github.com/skeeto/scratch/tree/master/pngattach - The intended use is for attaching the source script(s) from which the image was rendered. Attachments take the form of private "atCh" PNG chunks, documented below, since none of the pre-defined chunks quite captured what was needed.
- https://github.com/richgel999/fpng - a very fast C++ .PNG image reader/writer for 24/32bpp images. It's a single source file with no dependencies on any other library. fpng.cpp was written to see just how fast you can write .PNG's without sacrificing too much compression. The files written by fpng conform to the PNG standard, are readable using any PNG decoder, and load or validate successfully using libpng, wuffs, lodepng, stb_image, and pngcheck. PNG files written using fpng can also be read using fpng significantly faster than other PNG libraries, due to its explicit use of Length-Limited Prefix Codes and an optimized decoder that exploits the properties of these codes.
- https://github.com/meefik/aspng - A JS library for encoding data as PNG with compression or injecting data into an existing PNG image.
APNG
WebP
JPEG XL
BPG
HVIF
HEIF
FLIF
- FLIF - Free Lossless Image Format, a novel lossless image format which outperforms PNG, lossless WebP, lossless BPG, lossless JPEG2000, and lossless JPEG XR in terms of compression ratio. [19]
ETC
- https://en.wikipedia.org/wiki/Ericsson_Texture_Compression - a lossy texture compression technique developed in collaboration with Ericsson Research in early 2005. It was originally developed under the name iPACKMAN and based on an earlier compression scheme called PACKMAN.
- https://github.com/google/etc2comp - converts textures (e.g. bitmaps) into the ETC2 format. The tool is built with a focus on encoding performance to reduce the amount of time required to compile asset heavy applications as well as reduce overall application size.
HiFiC
- HiFiC - We combine Generative Adversarial Networks with learned compression to obtain a state-of-the-art generative lossy compression system. In the paper, we investigate normalization layers, generator and discriminator architectures, training strategies, as well as perceptual losses. In a user study, we show that our method is preferred to previous state-of-the-art approaches even if they use more than 2× the bitrate. [20]
QOI
- QOI — The Quite OK Image Format - The Quite OK Image Format forFast, Lossless CompressionQOI is fast. It losslessly compresses images to a similar size of PNG, while offering 20x-50x faster encoding and 3x-4x faster decoding.QOI is simple. The reference en-/decoder fits in about 300 lines of C. The file format specification is a single page PDF.
- https://github.com/phoboslab/qoi - Single-file MIT licensed library for C/C++
Software
PSD
Page description
PostScript
- https://en.wikipedia.org/wiki/PostScript - a page description language in the electronic publishing and desktop publishing business. It is a dynamically typed, concatenative programming language and was created at Adobe Systems by John Warnock, Charles Geschke, Doug Brotz, Ed Taft and Bill Paxton from 1982 to 1984.
- PostScript as a Programming Language - PostScript has all the programming functionality you would expect from an HP-caclulator, plus some interesting features hard to find in other languages. There are variables, loops, subroutines (of a sort), and an advanced idea for the scope of variables.
RIP
- https://en.wikipedia.org/wiki/Remote_Imaging_Protocol - associated Remote Imaging Protocol Scripting Language, RIPscrip, is a scripting language that provides a system for sending vector graphics over low-bandwidth links, notably modems. It was originally created by Jeff Reeder, Jim Bergman, and Mark Hayton of TeleGrafix Communications in Huntington Beach, California to enhance bulletin board systems and other applications.
ASCII
Web 1.0 stylee
88*31
etc.
Resources
Icons
See also HTML/CSS#Icons HTML/CSS#Data URI, Typography#Webfont icons
- Fontello - icon fonts generator
- Gnome Icons
- Tango Desktop Project exists to help create a consistent graphical user interface experience for free and Open Source software.
- Open Icon Library - Free for anyone to use on you computer, website or any other project.
- Famfamfam icons
- Chalkwork is a visually unified set of carefully designed icons.
- Modern UI Icons - Handcrafted pixel perfect vector icons.
- Glyphicons is a library of precisely prepared monochromatic icons and symbols, created with an emphasis on simplicity and easy orientation.
- The Noun Project
- GoSquared Resources
- flat.icns [23]
- https://github.com/google/material-design-icons/releases/tag/1.0.0
- Maki is a clean point of interest icon set made for web cartography.
- SJJB SVG Map Icons - an attempt to create a simple consistent set of vector icons suitable for cartographic use.
- Game-icons.net - free SVG and PNG icons for your games
- Climacons - climatically categorised pictographs for web and user interface designers.
- Skycons is a set of ten animated weather glyphs, procedurally generated by JavaScript using the HTML5 canvas tag.
- LivIcons - Truly animated icon pack with power of scalable vector graphic for clean and perfect look at any devices.
- Iconfinder - Browse free icon sets
- Icons Guide helps you to find the best stock icons shop you are looking for.
- Icon Pot lists free icons and stock web icons which are all great to use for your web design projects
- Find Icons - icon search engine
- Icon Fever - helping you find the best icons
- Icon Archive - icon search
- http://www.easyicon.net/
- Icon Deposit - post your icons, designs, code, and screenshots to promote your work
- http://davidmatthias.typepad.com/designs/2012/11/300-icons-for-web-and-other-businesses.html
- http://www.smashingmagazine.com/2011/12/29/freebie-free-vector-web-icons-91-icons/
- http://37signals.com/svn/posts/1844-open-source-icons
- iconmelon - svg icons library for web
- IcoMoon - striving to build and provide the best iconography and icon management tool for perfectionists. IcoMoon's icon library features only the very best icon sets out there. All of our icons are designed on a precise pixel grid. The IcoMoon app lets you build and use your own icon packs in many different formats including SVG, Polymer, PDF, XAML, CSH, icon font with ligatures, or good old PNG/CSS sprites.
- IcoMoon App - Icon Font, SVG, PDF & PNG Generator
- Evil Icons - Lightweight SVG icons for your web project
- https://github.com/sixsixfive/Monotone - A Monotone icon theme that contains over 1300 scalable icons to cover more than 5500 icons from the last linux decade. Its mainly made for dark desktops or HTPC's however it can also be used as a pure action/toolbar icon theme, fallback icon theme or even on bright desktops after a color change.
Wallpapers
Open and free
- CC0 Textures - Free Public Domain PBR Materials - a library of high quality PBR materials licensed under the Creative Commons CC0 License. This means that you are free to use and even redistribute them in any of your projects - including commercial use!
- OpenClipart - High Quality, Easy to Use, Free Support
- Pexels - Free stock photos
- Devices - Images and Sketch files of popular devices, by Facebook Design
- WidgetWorx » Selected Projects » SpriteLib - a collection of static and animated graphic objects (also commonly known as sprites) that I created between 1992 and 2002 for my own game projects. Seeing how it could benefit others, I decided to offer it to hobbyist game developers to use in their creations free of charge. Because of SpriteLib, game developers no longer have to waste precious time or money creating graphics from scratch when they can use mine in their game demos and prototypes. Over the years, SpriteLib has been used in hundreds of games, including some popular ones like Pacific Wings.
- https://github.com/chrieke/awesome-satellite-imagery-datasets - List of aerial and satellite imagery datasets with annotations for computer vision and deep learning. Newest datasets at the top of each category (Instance segmentation, object detection, semantic segmentation, scene classification, other).
Images
- IconDrop - A desktop app for searching and using free SVG icons
Textures
- https://github.com/EmbarkStudios/texture-synthesis - art Example-based texture synthesis written in Rust crab
- Imogen - GPU Texture generator using dear imgui for UI. Not production ready and a bit messy but really fun to code. This is an hybrid project that can run natively or on the web (thanks to emscripten). Basically, add GPU and CPU nodes in a graph to manipulate and generate images.
Thread
Buttons
Software
Viewing
xv
feh
feh
meh
sxiv
- sxiv - Simple (or small or suckless) X Image Viewer
sxiv * Open all (hack) sxiv -t
q quit f toggle fullscreen Enter toggle between single and thumbnail Space next image Backspace previous image
CV
- CV - a perl module that implements an image viewer.
MP View
- MP View - cross-platform image viewer with possibility of image manipulation (crop, resize, running filters), based on CImg and QtMP View is opensource software and is distributed under terms of GNU GPL v2.Currently the project is in beta state.
qiv / pqiv
- QIV - Quick Image Viewer,for Linux, Sun, FreeBSD and HP-UX
- https://github.com/phillipberndt/pqiv - Powerful image viewer with minimal UI
PixelOnTerminal
- https://github.com/SeungheonOh/PixelOnTerminal - prints image into a terminal screen.
termplay
- https://gitlab.com/jD91mZM2/termplay - Play an image/video in your terminal!
Emulsion
- Emulsion - A lightweight and minimalistic image viewer.
qimgv
- https://github.com/easymodo/qimgv - Qt5 image viewer. Fast, configurable, easy to use. Optional video support.
ANPV
- https://github.com/derselbst/ANPV - fast, responsive and verbose image viewer
HDRView
- https://github.com/wkjarosz/hdrview - a simple research-oriented high-dynamic range image viewer with an emphasis on examining and comparing images, and including minimalistic editing and tonemapping capabilities. HDRView currently supports reading EXR, PNG, TGA, BMP, HDR, JPG, GIF, PNM, PFM, and PSD images and writing EXR, HDR, PNG, TGA, PPM, PFM, and BMP images. HDRView can display true HDR on Apple extended dynamic range (EDR) and 10-bit displays.
Reference
BeeRef
- BeeRef - lets you quickly arrange your reference images and view them while you create. Its minimal interface is designed not to get in the way of your creative process. [34]
PureRef
- PureRef - a stand-alone program for Windows, Mac and Linux that keeps track of your images. Whether you're gathering inspiration, making mood boards or need reference images for your painting or 3D model, PureRef is there so you can focus on creating. No, there are currently no plans to make PureRef open source.
- https://github.com/FyorUU/PureRef-format - A Python script to automatically generate organised PureRef .pur files from folders of images, and a module you can use to convert .pur files to/from any other file format.
multiviewer
- https://github.com/rgrams/multiviewer - has only the most basic features necessary for it to be useful: moving and scaling images and the viewport and saving and loading "projects". It doesn't support a lot of image types (progressive jpegs for example), only PNGs, most JPEGs, and GIFs (it won't animate them).
sref
- https://github.com/jmaselbas/sref - a quick clone of pureref. sref is a tool to display a collection of images all in the same graphical window, allowing to pan around, move
and scale images.
Manipulation
ImagePlay
- ImagePlay - a rapid prototyping tool for building and testing image processing algorithms.It comes with a variety of over 70 individual image processors which can be combined into complex process chains.ImagePlay is completely open source and can be built for Windows, Mac and Linux.
ImageMagick
magick image.jpg image.png
import -crop 1280x1024+1280+0 -window root $HOME/screenshot_silver_$(date +%F_%H%M%S_%N).png # import a screenshot of the root window to a file cropped for the second desktop
convert -quality 97 image.png image.jpg convert sample.png sample.pdf
- Gist: Whiteboard Picture Cleaner - Shell one-liner/script to clean up and beautify photos of whiteboards!
- https://github.com/TeaM-TL/FotoKilof - GUI for the most used (by me) ImageMagick functionality for processing pictures.
GraphicsMagick
G'MIC
- G'MIC - a full-featured open-source framework for image processing. It provides several different user interfaces to convert/manipulate/filter/visualize generic image datasets, ranging from 1d scalar signals to 3d+t sequences of multi-spectral volumetric images, thus including 2d color images.
VIPS
- libvips - A fast image processing library with low memory needs.
- https://github.com/jcupitt/nip2 - A spreadsheet-like GUI for libvips.
img2txt / gif2txt
- https://github.com/hit9/img2txt - Image to Ascii Text with color support, can output to html or ansi terminal.
- https://github.com/hit9/gif2txt - Gif image to to Ascii Text. (Just a toy)
Netpbm
- Netpbm - a toolkit for manipulation of graphic images, including conversion of images between a variety of different formats. There are over 300 separate tools in the package including converters for about 100 graphics formats. Examples of the sort of image manipulation we're talking about are: Shrinking an image by 10%; Cutting the top half off of an image; Making a mirror image; Creating a sequence of images that fade from one image to another.
Freestyle
- Freestyle - software for Non-Photorealistic Line Drawing rendering from 3D scenes. It is designed as a programmable interface to allow maximum control over the style of the final drawing: the user "programs" how the silhouettes and other feature lines from the 3D model should be turned into stylized strokes using a set of programmable operators dedicated to style description. This programmable approach, inspired by the shading languages available in photorealistic renderers such as Pixar's RenderMan, overcomes the limitations of integrated software with access to a limited number of parameters and permits the design of an infinite variety of rich and complex styles. The system currently focuses on pure line drawing as a first step. The style description language is Python augmented with our set of operators.
shapeme
- https://github.com/antirez/shapeme - Evolve images using simulated annealing [38]
primitive.lol
- https://primitive.lol - Reproducing images with geometric primitives.
primitive
imscript
- https://github.com/mnhrdt/imscript - a collection of small and standalone utilities for image processing, written in pure C
Neural Photo Editor
- https://github.com/ajbrock/Neural-Photo-Editor - A simple interface for editing natural photos with generative neural networks. [41]
iGAN
- https://github.com/junyanz/iGAN - Interactive Image Generation via Generative Adversarial Networks [42]
Deep Image Prior
- Deep Image Prior - deep convolutional networks have become a popular tool for image generation and restoration. Generally, their excellent performance is imputed to their ability to learn realistic image priors from a large number of example images. In this paper, we show that, on the contrary, the structure of a generator network is sufficient to capture a great deal of low-level image statistics prior to any learning. In order to do so, we show that a randomly-initialized neural network can be used as a handcrafted prior with excellent results in standard inverse problems such as denoising, superresolution, and inpainting. Furthermore, the same prior can be used to invert deep neural representations to diagnose them, and to restore images based on flash-no flash input pairs. [43]
imgaug
- https://github.com/aleju/imgaug - Image augmentation for machine learning experiments.
audio_shop
- https://github.com/robertfoss/audio_shop - Your friendly neighbourhood script for mangling images or video using audio editing tools [44]
PixiVisor
- PixiVisor - a tool for experimenting with the transmission of video over audio. It consists of two parts: Transmitter and Receiver. Transmitter converts the low-resolution video (stream from camera, static image or GIF animation) to sound in real time, pixel by pixel (progressive scan). So any image or animation can be transferred to the other devices through the sound. Receiver converts the sound (from microphone or Line-in input) back to video. You can set the color palette for this video, and record it to animated GIF file.
imagecli
- https://github.com/theotherphil/imagecli - A command line image processing tool
pastel
- https://github.com/sharkdp/pastel - A command-line tool to generate, analyze, convert and manipulate colors
ColTerm
- https://github.com/SeungheonOh/ColTerm - generate colour theme from image
Other
Generation
See also Generative
- GD is an open source code library for the dynamic creation of images by programmers. GD is written in C, and "wrappers" are available for Perl, PHP and other languages. GD creates PNG, JPEG and GIF images, among other formats. GD is commonly used to generate charts, graphics, thumbnails, and most anything else, on the fly. While not restricted to use on the web, the most common applications of GD involve website development.
- Processing is a programming language, development environment, and online community. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. Initially created to serve as a software sketchbook and to teach computer programming fundamentals within a visual context, Processing evolved into a development tool for professionals. Today, there are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning, prototyping, and production.
- EscherSketch - an experiment with pattern design in the classical wallpaper groups. It allows one to prototype tiling designs in HTML5 Canvas.
- polyHédronisme - a toy for building complex 3D polyhedral shapes from simple ones by "recipes".
- Mondrian is a smart and easy-to-learn vector graphics web app.
- https://github.com/Rydgel/Fake-images-please - a little tool that generates images with an URL. Choose the size, the colors, even the text. Oh… and it’s free.
- Evolvotron is an interactive "generative art" application for Linux to evolve images/textures/patterns/animations through an iterative process of random mutation and user-selection driven evolution. (This process is also often referred to as "evolutionary art" or "genetic art".) If you like lava lamps, and still think the Mandelbrot set is cool, this could be the software for you.
- https://github.com/wapiflapi/binglide - a visual reverse engineering tool. It is designed to offer a quick overview of the different data types that are present in a file.
- https://github.com/mxgmn/WaveFunctionCollapse - This program generates bitmaps that are locally similar to the input bitmap.
- https://github.com/drummyfish/ptdesigner - C library and GUI tool for designing and generation of procedural textures, made as a part of my Bachelor thesis.
- https://github.com/inconvergent/weird - Generative art in Common Lisp
- https://github.com/Morphogens/prosepainter - ProsePainter combines direct digital painting with real-time guided machine-learning based image optimization. Simply state what you want and draw the region where you want it. Tux, the Linux mascot
Context Free Art
- Context Free Art - a program that generates images from written instructions called a grammar. The program follows the instructions in a few seconds to create images that can contain millions of shapes.
Photography
See Photography
Editing
nomacs
- nomacs - a free, open source image viewer, which supports multiple platforms. You can use it for viewing all common image formats including RAW and psd images. nomacs features semi-transparent widgets that display additional information such as thumbnails, metadata or histogram. It is able to browse images in zip or MS Office files which can be extracted to a directory. Metadata stored with the image can be displayed and you can add notes to images. A thumbnail preview of the current folder is included as well as a file explorer panel which allows switching between folders. Within a directory you can apply a file filter, so that only images are displayed whose filenames have a certain string or match a regular expression. Activating the cache allows for instantly switching between images. nomacs includes image manipulation methods for adjusting brightness, contrast, saturation, hue, gamma, exposure. It has a pseudo color function which allows creating false color images. A unique feature of nomacs is the synchronization of multiple instances. With this feature you can easily compare images by zooming and/or panning at the exactly same position or even by overlaying them with different opacity.
svg-edit
GIMP
- Glimpse - an open source image editor based on the GNU Image Manipulation Program. The goal is to experiment with new ideas and expand the use of free software.
Manual
Tips
Tab toggle toolbars
Doesn't save undo history. Bug. Use file history, layers or sg-snapshot instead.
Articles
- Making The GIMP Work For Me - Oct 13, 2009
- YouTube: Gimp Tutorial Clone/heal tool - Dom Bower
- YouTube: Shave someone in GIMP- Clone & Healing tool (+spot removal)
- http://www.gimptalk.com/index.php?/topic/50215-advanced-engraved-inline-text-effect/
- http://www.gimptalk.com/index.php?/topic/50223-engraved-inline-text-tutorial/
- YouTube: Engraved Type
Brushes and textures
- GPS is a collection of brushes and accompanying tool presets. Tool presets are a simply saved tool options, highly useful feature of the GIMP. The goal of GPS is to provide an adequate working environment for graphic designers and artists to begin to paint and feel comfortable with GIMP from their first use. Later the user will change these settings based on his own workflow preferences and understanding of GIMP.
Scripts and plugins
- PSPI: Running Photoshop plug-ins in GIMP
- https://github.com/mrossini-ethz/gimp-wavelet-decompose -plugin for decomposing an image into different detail scales
- Hugin - Panorama photo stitcher - an easy to use cross-platform panoramic imaging toolchain based on Panorama Tools.With Hugin you can assemble a mosaic of photographs into a complete immersive panorama, stitch any series of overlapping pictures and much more.
- https://github.com/bootchk/resynthesizer - Suite of gimp plugins for texture synthesis
- https://github.com/TeamPictonode/pictonode - an image editor using a revolutionary node-based system that allows for greater flexibility and reproducibility. The end goal is to make image processing a parallelized process that anyone can take part in, regardless of their technical background. In addition, we also aim to allow those already familiar with contemporary image editing software to easily transition to Pictonode.
- https://github.com/ArtBIT/stable-gimpfusion - a simple Gimp plugin that allows you to augment your painting using Automatic1111's StableDiffusion Web-UI API from your local StableDiffusion server.
- https://github.com/LinuxBeaver/gegl-goo-on-text - Gimp filter where GEGL puts goo on your text. It works great with my other text styling filters. On Windows and Mac you have to compile. On Linux just put the binaries in /gegl-0.4/plugins
- https://github.com/LinuxBeaver/GEGL-Custom-Bevel - Gimp Plugin that generates bevels. A highly customizable bevel that allows the user to change GEGL blend modes, blur types and much more. Goes inside /gegl-0.4/plug-ins
- GAP - for animation
- https://github.com/elsamuko/gimp-elsamuko - Some GIMP scripts
- https://github.com/mrossini-ethz/gimp-wavelet-denoise - Gimp plugin for reducing the noise in images
- https://github.com/prusnak/gimp-plugin-gaugan - GauGAN plugin for GIMP
- https://github.com/intel/openvino-ai-plugins-gimp - GIMP AI plugins with OpenVino Backend
Community
Photoshop
Plugins
- Ultimate Collection Of Useful Photoshop Plug-Ins
- thepluginsite.com Free Photoshop-compatible Plugins
Inkscape
- Inkscape
- http://wiki.inkscape.org/wiki/index.php/Inkscape
- http://wiki.inkscape.org/wiki/index.php/Extension_repository
- Inkscape: Guide to a Vector Drawing Program
- Un-official manual by Kevin Wixson
- Inkscape keyboard and mouse reference
- http://en.flossmanuals.net/inkscape/
- http://en.wikibooks.org/wiki/Inkscape
Guides
- http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Attributes-Stroke.html
- http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Attributes-Fill-Stroke.html
- https://code.google.com/p/inkscape-guides-creator/
- http://www.mario-gutsche.de/2010/03/inkscape-the-golden-ratio-and-the-rule-of-thirds/
sK1
- sK1 - professional quality illustration program for Windows, GNU/Linux and macOS platforms. sK1 2.0 is a powerful and mature application that makes users more productive and provides them professional and free solution even for exotic *nix OSes. Whether you are a newbie user or an experienced designer, sK1 2.0 makes it easy to get started. With its professional color-management engine and wide-range file format compatibility, sK1 2.0 provides color accuracy and drawing flexibility you need for all types of projects.
Pinta
MyPaint
- MyPaint is a fast and easy open-source graphics application for digital painters. It lets you focus on the art instead of the program. You work on your canvas with minimum distractions, bringing up the interface only when you need it.
Paint.net
- http://www.getpaint.net/ - paint.net
AzPainter
- AzPainter - mainly full color painting software for illustration drawing.
Online
Photopea
- Photopea - a free online tool for editing raster art and vector graphics with support for PSD, XCF and Sketch files. Supported formats: Complex: PSD, XCF, Sketch, XD, CDR, SVG, EPS, PDF, WMF, EMF. Raster: PNG (APNG), JPG, GIF, WebP, ICO, BMP, PPM/PGM/PBM, TIFF, DNG, DDS.
mtPaint
- mtPaint - a painting program which Mark Tyler developed from scratch so he could easily create pixel art and manipulate digital photos. It uses the GTK+ toolkit (version 1 or 2) and runs on PC's via the GNU/Linux or Windows operating systems. Due to its efficient design it can run on older PC hardware (e.g. a 200MHz CPU and 16MB of free RAM). mtPaint is free software, which means you are able to freely use, modify and distribute it according to the GNU General Public License.
JS Paint
- JS Paint - A pixel-perfect web-based MS Paint remake and more... Try it out! JS Paint recreates every tool and menu of MS Paint, and even little-known features, to a high degree of fidelity. It supports themes, additional file types, and accessibility features like Eye Gaze Mode and Speech Recognition.
sK1
- sK1 - professional quality illustration program for Windows, GNU/Linux and macOS platforms. sK1 2.0 is a powerful and mature application that makes users more productive and provides them professional and free solution even for exotic *nix OSes. Whether you are a newbie user or an experienced designer, sK1 2.0 makes it easy to get started. With its professional color-management engine and wide-range file format compatibility, sK1 2.0 provides color accuracy and drawing flexibility you need for all types of projects.
Xara Xtreme
- Xara Xtreme - for Linux is a powerful, general purpose graphics program for Unix platforms including Linux, FreeBSD and (in development) OS-X. Formely known as Xara LX, it is based on Xara Xtreme for Windows, which is the fastest graphics program available, period. The Xara Xtreme source code was made available open-source in early 2006, and is being ported to Linux. This process is almost complete and Xara Xtreme for Linux is available for download now.
CinePaint
- CinePaint - an open source computer program for painting and retouching bitmap frames of films. It is a fork of version 1.0.4 of the GNU Image Manipulation Program (GIMP). It enjoyed some success as one of the earliest open source tools developed for feature motion picture visual effects and animation work. The main reason for this adoption over mainline gimp was its support for high bit depths (greater than 8-bits per channel) which can be required for film work.[citation needed] The mainline GIMP project later added high bit depths in GIMP 2.9.2, released November 2015.
Krita
- Krita - a professional FREE and open source painting program. It is made by artists that want to see affordable art tools for everyone including for concept art, texture and matte painters, illustrations and comics
Fragmentarium / FragM
- Fragmentarium - an open source, cross-platform IDE for exploring pixel based graphics on the GPU. It is inspired by Adobe's Pixel Bender, but uses GLSL, and is created specifically with fractals and generative systems in mind.
- https://github.com/3Dickulus/FragM - derived from Mikael Hvidtfeldt Christensen's Fragmentarium representing a compilation of features and fixes contributed by many users at FractalForums.com over 3-4 years.
XFig
- XFig - a free and open-source vector graphics editor which runs under the X Window System on most UNIX-compatible platforms. In Xfig, figures may be drawn using objects such as circles, boxes, lines, spline curves, text, etc. It is also possible to import images in formats such as GIF, JPEG, EPS, PostScript, etc. Those objects can be created, deleted, moved or modified. Attributes such as colors or line styles can be selected in various ways. For text, 35 fonts are available. Xfig saves figures in its native text-only "Fig" format. Xfig has a facility to print figures to a PostScript printer too. A convenient feature is the PSTEX or PDFTEX export format that allows a smooth integration of Xfig-generated images into LaTeX documents.
GrafX2
- GrafX2 - a bitmap paint program inspired by the Amiga programs Deluxe Paint and Brilliance. Specialized in 256-color drawing, it includes a very large number of tools and effects that make it particularly suitable for pixel art, game graphics, and generally any detailed graphics painted with a mouse. The program is mostly developed on Haiku, Linux and Windows, but is also portable on many other platforms. [45]
rx
Seashore
- Seashore - an open source image editor for Mac OS X's Cocoa framework. It features gradients, textures and anti-aliasing for both text and brush strokes. It supports multiple layers and alpha channel editing. It is based around the GIMP's technology and uses the same native file format. However, unlike the GIMP, Seashore aims to serve the basic image editing needs of most computer users, not to provide a replacement for professional image editing products. Also, unlike GIMP, Seashore has an all-new Cocoa UI that will fit right in on Mac OS X.
VPaint
- VPaint is an experimental vector graphics editor based on the Vector Animation Complex (VAC), a technology developed by a collaboration of researchers at Inria and the University of British Columbia, featured at SIGGRAPH 2015. It allows you to create resolution-independent illustrations and animations using innovative techniques. [47]
- https://github.com/dalboris/vpaint
Voronoizer
- https://github.com/cdsmith/voronoizer - Convert any image into a Voronoi diagram. The result is a set of polygons of solid color, which can be used as a basis for a mosaic or other artistic rendering.
chaiNNer
- https://github.com/chaiNNer-org/chaiNNer - A flowchart/node-based image processing GUI aimed at making chaining image processing tasks (especially upscaling done by neural networks) easy, intuitive, and customizable. No existing upscaling GUI gives you the level of customization of your image processing workflow that chaiNNer does. Not only do you have full control over your processing pipeline, you can do incredibly complex tasks just by connecting a few nodes together. chaiNNer is also cross-platform, meaning you can run it on Windows, MacOS, and Linux.
Animation
- https://github.com/lettier/gifcurry - Create animated GIFs, optionally overlaid with text, from video files.
- https://github.com/leafo/gifine - Quickly record and edit gifs and videos of your desktop
- DALi - a dynamic animation library, a 2D and 3D scene graph that abstracts the rendering of the nodes through a simple API. It can be used to create 2D and 3D applications, providing support for resource loading, touch events, key events, animating the nodes and a whole array of functionality to make it easy for the user to produce effects, applications and user interfaces. DALi is developed with user input responsiveness, smooth updates with good FPS and low memory requirements in mind. A Toolkit is provided to make using DALi even easier along with a framework that facilitates the creating of your own controls. DALi is Open Source, constantly maintained and extended.DALi provides 2 apis, the native C++ and NUI which is based on C#.
- https://github.com/MaurycyLiebner/enve - a new open-source 2D animation software for Linux. You can use enve to create vector animations, raster animations, and even use sound and video files. Enve was created with flexibility and expandability in mind.
DTP
Scribus
Docs
- http://wiki.scribus.net/canvas/Images_-_PPI_and_DPI
- http://wiki.scribus.net/canvas/Color_Management_setup
- http://wiki.scribus.net/canvas/Working_with_text_frames
- http://wiki.scribus.net/canvas/Vertically_Centering_Text
other
Analysis
OCR
Depix
- https://github.com/beurtschipper/Depix - a tool for recovering passwords from pixelized screenshots.This implementation works on pixelized images that were created with a linear box filter.
NormCap
Cross-stitch and knitting
Screenshot
- Shutter is a feature-rich screenshot program. You can take a screenshot of a specific area, window, your whole screen, or even of a website – apply different effects to it, draw on it to highlight points, and then upload to an image hosting site, all within one window.
- ScreenCloud - Take a screenshot using one of the 3 hotkeys or simply click the ScreenCloud tray icon.
- https://github.com/lupoDharkael/flameshot - Powerful yet simple to use screenshot software
- https://github.com/ksnip/ksnip - a Qt based cross-platform screenshot tool that provides many annotation features for your screenshots.
- https://github.com/carnager/teiler - a screenshot tool written in bash, teiler uses rofi to draw a menu which lets you choose between screenshots or screencasts.
- https://github.com/redtide/sqreenshot - Simple screenshot tool based on Gnome Screenshot
Scanning
scanimage
Drawing
Xournal
- Xournal - an application for notetaking, sketching, keeping a journal using a stylus. It is free software (GNU GPL) and runs on Linux (recent distributions) and other GTK+/Gnome platforms. It is similar to Microsoft Windows Journal or to other alternatives such as Jarnal, Gournal, and NoteLab.
Jarnal
- Jarnal - an open-source application for notetaking, sketching, keeping a journal, making a presentation, annotating a document - including pdf - or collaborating using a stylus, mouse or keyboard. It is similar to Microsoft Windows Journal and to the earlier Mimeo whiteboarding and Palm notepad applications. There is also a commercial knockoff of Jarnal called PDF Annotator - for $50 you can enjoy a subset of the capabilities that Jarnal provides for free.
Gournal
- Gournal - note-taking application written for usage on Tablet-PCs (such as the Toshiba M200). It’s designed for usage with a stylus, not a mouse or keyboard. It does not have handwriting recognition but can be used in co-ordination with xstroke to accept text. Gournal is written in perl using gtk2-perl so you will need gtk2-perl along with the gladexml and gnomecanvas modules of gtk2-perl. The pages are saved as gzipped SVG files (not totally standard yet but working on it)
NoteLab
- NoteLab - brings the power of digital note taking to Linux, Windows, Mac OS X, and Solaris. Using NoteLab is just like writing with a pen on real paper. However with NoteLab, the pen and paper are electronic, you never run out of ink, and you have all the paper you'll ever need. NoteLab is free software licensed under the GNU GPL. Like Linux and Firefox, NoteLab and its full source code are available at no cost for anyone to view, analyze, scrutinze, and improve. NoteLab saves your notes in the industry standard SVG (Scalable Vector Graphic) format. Thus any program that can understand this open, next-generation graphic format can be used to view NoteLab files. NoteLab can also print your notes or export them to a number of image types including PNG and JPEG. NoteLab allows the user to select en tire words, stretch them, move them, change their color, change their line width, delete them, and bring them back. Simply speaking, NoteLab understands a stroke as a complex shape. It doesn't just look at the page as a collection of ink on a page, but instead as a collection of words in a dynamic environment.
Skethpad
- Sketchpad - online annotation, editing & design tool
WBO
Dotgrid
- Dotgrid - a distractionless vector tool with line styles, corner controls, colours, grid-based tools, PNG and SVG export.The application is free and Open Source, and also available live to be used with your browser, on your Raspberry Pi, or on your mobile device.
Ronin
- Ronin - a cross-over between Vim and Photoshop, meant to quickly render simple graphic tasks.Ronin is currently under development, it now includes basic digital painting functionalities.
Pencil2D
- Pencil2D Animation - An easy, intuitive tool to make 2D hand-drawn animations.
Recursive Drawing
- Recursive Drawing - an exploration of user interface ideas towards the development of a spatially-oriented programming environment. [52]
Forma
- https://github.com/google/forma - A (thoroughly) parallelized experimental Rust vector-graphics renderer with both a software (CPU) and hardware (GPU) back-end having the following goals, in this order: Portability; supporting Fuchsia, Linux, macOS, Windows, Android & iOS. Performance; making use of compute-focused pipeline that is highly parallelized both at the instruction-level and the thread-level. Simplicity; implementing an easy-to-understand 4-stage pipeline. Size; minimizing the number of dependencies and focusing on vector-graphics only.
Pixel art
- https://github.com/dylanaraps/pxltrm - a terminal pixel art editor written in pure bash. Draw pixel art without a mouse using intuitive hotkeys.
Line art
- https://github.com/lucashadfield/speck - Render images as a set of continuous lines representing each horizontal (or vertical) line of pixels:
Inking
Upscaling
- Waifu2X! - Single-Image Super-Resolution for Anime-Style Art using Deep Convolutional Neural Networks.
- https://github.com/DeadSix27/waifu2x-converter-cpp - Improved fork of Waifu2X C++ using OpenCL and OpenCV
- https://github.com/krasserm/super-resolution - Tensorflow 2.0 based implementation of EDSR, WDSR and SRGAN for single image super-resolution
- https://github.com/idealo/image-super-resolution - Super-scale your images and run experiments with Residual Dense and Adversarial Networks.
- https://github.com/deepak112/Keras-SRGAN - Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network implemented in Keras
- https://github.com/momonala/supersizeme - a super-resolution REST endpoint which increases the resolution of an input image.
- https://github.com/nihui/waifu2x-ncnn-vulkan - waifu2x converter ncnn version, runs fast on intel / amd / nvidia GPU with vulkan
- https://github.com/alexjc/neural-enhance - Super Resolution for images using deep learning.
- https://github.com/media2x/waifu2x-ncnn-vulkan-python - A Python FFI of nihui/waifu2x-ncnn-vulkan achieved with SWIG
- https://github.com/akai-katto/dandere2x - Dandere2x - Fast Waifu2x Video Upscaling.
Deduplication
- https://github.com/idealo/imagededup - Finding duplicate images made easy
Other
- https://github.com/baskerville/color_sieve - generate pallet
- http://mondrian.io/ - OSS web Illistrator [54]
- https://news.ycombinator.com/item?id=8154797 - perceptual hashing
- https://github.com/google/butteraugli - a project that estimates the psychovisual similarity of two images. It gives a score for the images that is reliable in the domain of barely noticeable differences. Butteraugli not only gives a scalar score, but also a spatial map of the level of differences. [56]
- https://github.com/jasonmoo/smlr - Re-encode jpeg images with no perceivable quality loss. Uses the butteraugli psychovisual comparison and k-ary search to determine the best jpeg quality setting that will not "appear" degraded.https://news.ycombinator.com/item?id=11670703
- Enfuse - PanoTools.org Wiki - command-line program used to merge different exposures of the same scene to produce an image that looks very much like a tonemapped image (without the halos) but requires no creation of an HDR image. Therefore it is much simpler to use and allows the creation of very large multiple exposure panoramas.
- https://github.com/pugwonk/gif2xlsx - I worked for a long time in financial services, and I can tell you that one thing I got sick of hearing was "how do I convert animated GIFs into Excel files". If you're here wondering why nobody has yet exploited this gap in a very lucrative market, wonder no longer. Help is at hand.
Machine learning
- https://github.com/luanfujun/deep-painterly-harmonization#user-content-examples - Code and data for paper "Deep Painterly Harmonization"] [59]
- https://www.resetera.com/threads/ai-neural-networks-being-used-to-generate-hq-textures-for-older-games-you-can-do-it-yourself.88272/ [60]
- https://github.com/lucidrains/big-sleep - A simple command line tool for text to image generation, using OpenAI's CLIP and a BigGAN. Technique was originally created by https://twitter.com/advadnoun
Web
Self-hosted
- OpenPhoto is an Open Source photo sharing platform which gives users complete ownership and portability of their photos. Users’ photos, tags and comments are seamlessly stored into personally owned cloud services owned by themselves. Whatever they want to do or wherever they want to go their photos are free to go with them.
- Galleria is a JavaScript image gallery framework that simplifies the process of creating beautiful image galleries for the web and mobile devices.
- Colorbox - A lightweight customizable lightbox plugin for jQuery
- +Gallery - A responsive javascript based image gallery driven by photos from Facebook, Instagram, Flickr or Google Plus
- Photographer.io is a photo sharing community
- PiGallery 2 - a self-hosted directory-first photo gallery website.
Services
Hosting
- http://www.flickr.com/services/api/misc.urls.html - You can construct the source URL to a photo once you know its ID, server ID, farm ID and secret, as returned by many API methods. including size
Design
Machine learning
- Photoshot - Generate Custom AI avatar
- https://github.com/shinework/photoshot - An open-source AI avatar generator web app
IIIF
- https://en.wikipedia.org/wiki/Image_server - web server software which specializes in delivering (and often modifying) images. However, not all image servers support HTTP or can be used on web sites. While traditional web servers generally supply clients with static copies of image files, image servers usually perform additional image processing before serving the file. These functions may include frame/format selection, resizing, cropping, alpha blending, compositing source images, rotating, color adjustment, and filtering. A major use of image servers is to support browser-based pan-and-zoom viewers. port/1188
- IIIF - International Image Interoperability Framework, a set of open standards for delivering high-quality, attributed digital objects online at scale. It’s also an international community developing and implementing the IIIF APIs. IIIF is backed by a consortium of leading cultural institutions.
- IIIF Manifest editor
- https://github.com/digirati-co-uk/iiif-manifest-editor/tree/main - Create new IIIF Manifests. Modify existing manifests. Tell stories with IIIF.
- IIPImage - an advanced high-performance feature-rich image server system for web-based streamed viewing and zooming of ultra high-resolution images. It is designed to be fast and bandwidth-efficient with low processor and memory requirements. The system can comfortably handle gigapixel size images as well as advanced image features such as 8, 16 and 32 bits per channel, CIELAB colorimetric images and scientific imagery such as multispectral images and digital elevation maps. Streaming is tile-based, making it possible to view, navigate and zoom in real-time around gigapixel size images that would be impossible to download and manipulate on the local machine. It also makes the system very scalable as the number of image tile downloads will remain the same regardless of the size of the source image. Source images can be in either TIFF or JPEG2000 format. Whole images or regions within images can also be rapidly and dynamically resized and exported by the server from a single source image without the need to store multiple files in various sizes.
- https://github.com/ruven/iipsrv - an advanced high-performance feature-rich image server for web-based streamed viewing and zooming of ultra high-resolution images.
- https://github.com/ruven/iipmooviewer - IIPMooViewer is an advanced javascript HTML5 image viewer for streaming high resolution scientific images
- Cantaloupe Image Server :: Home - an open-source dynamic image server for on-demand generation of derivatives of high-resolution source images. With available operations including cropping, scaling, and rotation, it can support deep-zooming image viewers, as well as on-the-fly thumbnail generation. Compliance with the IIIF Image API enables it to work with a growing number of client applications.
- https://github.com/loris-imageserver/loris - Loris IIIF Image Server
- https://github.com/dlcs/protagonist - A collection of separate dotnet core applications that together form the basis of the new DLCS platform.
- Madoc - A platform for the display, enrichment, and curation of IIIF-based digital objects. New possibilities for annotation and transcription projects. A flexible crowdsourcing, research and teaching platform for digitised collections.