IJ Plugins: Texture Synthesis

Texture Synthesis by Image Quilting

A plugin to perform texture synthesis using the image quilting algorithm of Efros and Freeman.

The plugin is largely based on the code developed by Nick Vavra. More information about the original implementation can be found here. The original code was ported to use ImageJ for image representation and processing, support was added for ImageJ color and gray level images, some of the processing was optimized to achieve faster performance.

Image Quilter Plugins

The Image Quilting plugins is available form imageJ menu under Plugins/Graphics/Image Quilter ..., a brief description is available under Help/About Plugins/Image Quilter.....

Image Quilter plugin works with RGB and and all gray level images (8 bit, 16 bit, and 32 bit). Quilting process is controlled by following options:


  • Output width - desired width of the output image, actual width may be slightly smaller, depending on patch size.

  • Output height - desired height of the output image, actual height may be slightly smaller, depending on patch size..

  • Patch size - width and height of a patch used for quilting.

  • Patch overlap - amount of overlap between patches when matching.

  • Allow horizontal paths - enable improved matching by weighted paths.

  • Patch cost weight - weight used for improved matching.

The Image Quilter plugin show progress while processing:



Color Texture

Here are some typical examples of texture synthesis. 36 by 36 patches of the sample texture (small left image) are quilted to create larger images with the same texture. The patches are matched using 6 pixel overlap.

[Example] [Example]
[Example] [Example]

Blobs Texture

Here is example of creating blobs texture. The original is one of ImageJ sample images (File / Open Samples / Blobs). The original blobs image size is 256x254.


A new 516x516 image is created by stiching 36x36 patches of the blobs image with 6 pixel overlap.


Download and Installation

The Image Quilter plugin is part of ij-Plugins Toolkit. Download and installation are described here