Name: Chen Xu
login: chenx
The texture synthesis algorithm aims to create a larger texture image using small texture patches. It finds small patches in the texture image and pastes them into the large synthesized texture image. The basic idea of finding the best matching patch is that, the already synthsized part and the candidate patch should match very well in their overlap region. At last, the algorithm finds the best cut with lowest cutting energy in the overlap region using dynamic programming, so that the new patch can be pasted to the synthesized image seamlessly.
The texture transfer algorithm transfers texture from one image to another source image, so that the source image is re-rendered using that specific texture. It's very like texture synthesis, the only difference is this time the algorithm also takes into account the source image intensity when searching the best patch, which makes the structure or layout of the re-rendered image be faithful to the original source image.
Table 1 shows results of given test image of texture synthesis. For the ssd best matching + min cut algorithm, the tile size matters a lot. The tile size should be set according to the natural of the texture, for more structured texture, like the bricks. The tile size should be carefully chosen according to the width and height of individual brick. For less structured texture, like toast, the tile size doesn't matter a lot.
Texture | Random | SSD Best Match | SSD Best Match + Min Cut |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Table 2 shows more results of texture synthesis.
Texture | SSD Best Match + Min Cut |
---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Table 3 shows results of given test image of texture transfer. The iterative method of texture transfer is used, and basically the more number of iteration, the better the results.
Texture | Source | Texture Transfer |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Table 4 shows some more results of texture transfer.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |