In the field of computer graphics We usually wrap the presented models in texture in order to achieve a realistic look. If the pattern is too small – it does not help if it is tileable – the repetition will be recognizeable and the model is no longer realistic. If the texture we shot previously with a camera is too big, firstly it will occupy too much space in the memory and secondly it will hold unexpected properties, like alternating light value or incorrect resolution. Texture synthesis tries to solve this problem by using different kind of algorithms to create a custom texture out of the selected exemplar image.
Currently there are two types of texture synthesis approaches, namely pixel-based and patch-based. The most well-known pixel-matching method for the mentioned synthesis methods is the Markov Random Field. The pixel-based algorithm uses pixels as a unit of synthesis while the patch based algorithm uses block of pixels for that. These units then create the whole output image. Both methods have their advantages and disadvantages therefore We cannot state that one is better than the other.
I will introduce the results of the two methods and other approaches, like the neural network or the single purpose synthesis, texture synthesis on 3D models and mention the possibilities of optimization on different algorithms and illustrate it. After that I present the current texture synthesis programs, their abilites and weaknesses.
My work covers the implementation of the two main methods and a graphical interface with user-friendly settings panel that aids the creation of textures. I show the required steps from planning to implementation and illustrate them with different diagrams. I create a 3D model viewer for the interface where textures can be seen on the desired model. In the end I evaluate my work by user experience and speed and also mention future works that can be done to improve the program.
I summarize the mentioned methods and possibilities of further development both in two and three dimension.