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.
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:
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.