You are here


A typical BSD-ish license, e.g. Apache, X11, and so on.

Export Layers Plus

Yes, it's yet another export layers script! This one is mainly targeted for video editing applications. I wrote it because all the other scripts weren't good enough for my purposes. Script is located in File/Export Layers...


  • Can name output files based on frame counter (i.e. "frame_000.png", "frame_001.png" and so on)
  • Can export only visible or only linked layers
  • Correctly exports layers with layer masks
  • Can export top to bottom or bottom to top
  • Can resample to different frame rate (and understands frame delay modifiers i.e. "(NNms)")
  • Can also interpolate frames when resampling

This script was used to produce the award winning short film "Stretch Those Glutes (ANNIVERSARY EDITION!)"

Read more for detailed options description.

BgMask: extract still background from video frames / mask frames against background

May 21, 2013: BgMask 0.3 is released!

Video tutorial:

This script adds several tools under Script-Fu - BgMask: "Extract background...", "Mask against background...", "Average linked layers...", and in BgMask 0.2 there are also "Extract background manually" and "Mask adjustments...". It can be used to mask moving objects/characters from animations with still background.

BgMask 0.3 introduces a new tool, "Blend Edges" which allows your masked objects to blend seamlessly into different backgrounds. Also, it improves the denoising algorithm of Mask Adjustments and adds a "Smoothen via paths" option.

Read the full description for detailed breakdown.

AnimStack: animation tools for GIMP 2.8

May 19, 2013 - AnimStack 0.61 is a bugfix release, fixing very stupid bug with [render]
April 17, 2013 - AnimStack 0.6 is released! See release notes in the comment section.

Watch video tutorials here:

Also check out the official AnimStack tumblr:

AnimStack is a collection of tools to simplify creating animations in GIMP. It makes heavy use of Layer Groups, introduced in GIMP 2.8.

A simple example of a problem this script might solve: you have an animation, but you want to put some text on top of it. Normally you would have to add text to every frame manually, but with AnimStack this task is completely automated. AnimStack is perfect for post-processing your GIF animations and adding various simple effects to them.

To get an overview of available features please watch the video:

Flatten all layer groups

Image > Flatten Layer Groups

Does exactly what you expect it to do. Every top-level layer group is merged (careful: only visible layers in each layer group are merged). The layer tree becomes completely flat. Why is this useful? Well, I made it because it is impossible to convert an image to Indexed mode or export it as animated GIF if it contains any layer groups. And layer groups are extremely useful for animated GIFs. It's a conundrum! And this script helps automate the process somewhat.

Pencil-draw subfunction (hatching)

This is a little simple script what helphs to hatching selected area of picture with a pencil-like lines (random noise+moving blur). This script is used in "yet another way" to stylize photo like a drawing. Examples are here,
full description is at

video example

Morphology edges detection

This is another simple script for edges detection. I like like it much more than standart edge detection scripts, because in case of photo processing it gives results more close to real ones.

After installation, script will be at Scripts/Leon/Morphology edges detection

I'm attached here an example: sources picture and results of Sobel and Morphology edge detection. Each edges are processed: colors inverted, Color-Levels-Auto.



JPEG XR plugin


This is a plugin for GIMP that allows reading and writing of JPEG XR image files. It has been tested on Windows and Ubuntu with GIMP 2.8.4.

Read support

Almost all pixel formats supported by JPEG XR can be loaded. However, non-compatible formats will first be converted to a representation that GIMP understands (this means you'll loose HDR data for example). All RGB pixel formats get converted to 24bpp RGB, all RGBA formats to 32bpp BGRA, and all grayscale formats to 8bpp Gray. Black-white images are imported as indexed images.

Colors and grain

This is a very simple script for method of image processing othen used by myself - splitting picture into a two assembled layers: colors and grain. This gives us a very lot of capabilities of changing picture without making a hard artefacts inside it.

You can read more about the script, with a sample of use here:

p.s. i'm also add a second version - for a slow machines; it do same thing, but by the little diffrent way.

Detail enhancer.

A simple detail enhancing/sharpening filter based on my simple bilateral code. It is essentialy a low precision version of the detail enhancement stage of some local tone mapping algorithms.

In non technical terms this is basically the anti surface blur. It takes a surface blur as a base layer, compares it with the original image and magnifies the differences. It brings out textures and makes skin look pretty horrible.

It will appear under:

Filters->Enhance->Enhance Details...

Windows version provided by Francois_C. Updated.

Simple surface blur/bilateral filter.

A surface blur filter based on a simplified version Porikli's O(1) bilateral filter.

Unfortunately due to the nature of the algorithm memory overheads can be severe. This filter uses a tile based implementation, which limits overheads to about 64mb.

On the plus side it is reasonably fast and scales well with filter radius.

When installed it should appear under filters->blur->simple bilateral

There is a mercurial repository which will be kept up to date with the latest code on my web site. This can be accessed with:

hg clone


Subscribe to RSS - BSD