Texture synthesis

Paul Billault

IMPA, Rio de Janeiro, Brasil

Trainimg period responsible: Luiz Velho




Texture is an important aspect of computer graphics, because it allows to increase the realism of images. The synthesis of textures is one of the better way to create texture images of arbitrary size. However, it remains difficult to develop an algorithm that is both efficient and capable of generating high quality results. I studied two algorithms very similar which reach very good performances: one designed by W L and the other by A. The algorithms require a texture sample as input and generate an image of the size chosen by the user, so they are very easy to use.

The WL algorithm uses the locality and stationarity properties of the textures to synthesis an image pixel by pixel searching the pixel in the input sample with the nearest neighborhood from the one of the current pixel. As it is quite computationally expensive, multiresolution and quantization acceleration bring efficient solutions.

The A algorithm is inspired from the first one. But it adds the idea of  coherence in the synthesis. That is, the current pixel receives the value of an input pixel elected among a list of candidates pixels chosen because they are near from pixels which was used to assign the pixels near from the current pixel. This algorithm is extremely efficient and gives high quality results for the class of natural textures.

Those algorithm were implemented by me in Java, as the interface which permits to load, save, display images and changing the parameters of the synthesis. I implemented also interesting applications of user control, allowing the user to impose some rules to the synthesis.

Le rapport est un trop gros fichier pour aller sur le site.

Applications: distorted synthesis and user control


Wei-Levoy algorithm results                        Ashikhmin algorithm results