In the first deliverable, we roughly finish the first two stages in image quilting, and apply texture to a very simple scene consisting of two objects.
Generally, to synthesize a new texture image, square blocks from the input texture are patched together to get a new texture sample. In stage a, blocks are chosen randomly from the input texture, and for some textures, the result already looks somewhat reasonable. While in stage b where we end up with for the first deliverable, overlap of the blocks are introduced in the placement of blocks onto the new image. Instead of picking a random block, we will search for block that in some measure agreewith its neighbors in the region of overlap.
For the quilting part, searching the template thoroughly for a matching block takes quite some time. For the first deliverable we don't perform an exhaustive search of the template to find a matching block. Instead we only compare some # of (like 100) blocks and choose the best block from these. Also we haven't started using the "minimum boundary cut" algorithm, thus it can be seen from the quilting images that the edges of the blocks are still quite noticeable, which will hopefully be improved in the second deliverable where the last stage of image quilting will be implemented and a more refined search of the template will be done. The point here is that you can see the "pieces falling together".
Texture mapping: the executable works well when the same texture is used for each polygon of all the objects. Sometimes an error will occur if there is more than one texture. This is another thing that we want to improve in later deliverables. The objects can be observed from different viewpoints by pressing the arrow buttons and the left mouse bouton. One more problem of texture mapping is that the .bmp file which specifies the texture can't be of arbitrary size. For some dimensions of the textures, after mappping to a 3D object, they lead to a black and white looking, instead of a colorful one.
loader.zip -- to load a 3D scene from .obj, .mtl and texture files
Note: There are only an executable and some data files here. We may put
our codes on this website for the final deliverable.
Image Quilting (Left: input image --> Right: Output image)
Some Snapshots of Texture Mapping
(using a texture we
synthesized)
(using a texture from this location)
Goto Second Deliverable
Last modified: April 26, 2002