(Picture taken at the CGVV'01 Workshop in Berkeley, CA)

A non-parametric method for texture synthesis is proposed. The texture synthesis process grows a new image outward from an initial seed, one pixel at a time. A Markov random field model is assumed, and the conditional distribution of a pixel given all its neighbors synthesized so far is estimated by querying the sample image and finding all similar neighborhoods. The degree of randomness is controlled by a single perceptually intuitive parameter. The method aims at preserving as much local structure as possible and produces good results for a wide variety of synthetic and real-world textures.

Here is the pseudo code for the algorithm.

Some examples of texture synthesis using our approach are shown below:

Examples of constrained texture synthesis (hole-filling) using our approach:

Back to my texture synthesis page

Special thanks goes to Prof. Joe Zachary who taught my undergrad data structures course and had us implement Shannon's text synthesis program which was the inspiration for this project.