my original pictures are as follows:
001.jpg
002.jpg
003.jpg
004.jpg
005.jpg
006.jpg
007.jpg
008.jpg
my results are as follows:
018.jpg warping from 001.jpg to 002.jpg with 5 five corresponding points described in file 018.txt
019.jpg warping from 004.jpg to 003.jpg with 5 five corresponding points described in file 019.txt
020.jpg warping from 018.jpg to 019.jpg with 5 five corresponding points described in file 020.txt
021.jpg warping from 005.jpg to 006.jpg with 5 five corresponding points described in file 021.txt
022.jpg warping from 008.jpg to 007.jpg with 5 five corresponding points described in file 022.txt
023.jpg warping from 022.jpg to 021.jpg with 5 five corresponding points described in file 023.txt
024.jpg warping from 020.jpg to 023.jpg with 6 five corresponding points described in file 024.txt


the final mosaic, zoomed down from 3499x1090 pixels to 1200x374

the original pictures were taken inside University Center at CMU. i used Paul's HP digital camera to shoot these images. my codes are written on Visual C++ 6.0. i didn't use starting codes, and wrote image I/O, matrix operation by myself. as a result, my codes can ONLY support BMP image file. if you want to test the program, be sure to convert your image from TIFF or JEPG to BMP first.

the user first load several images in. he can use right button to choose his favorite image, and move cursor on the image to read pixel coordinate. the coordinates are displayed in the leftbottom corner of the window. he can change his viewport by dragging the left button. after he finds good corresponding points between two images, he can save them in a TXT file. the format of the file is exampled by 018.txt above. he can use right button to start warping from one image to another. the resulting BMP image is automated generated, like 018.bmp shown above.

each mosaic takes about 3-5 seconds to be done, except the final one 024.jpg. it takes longer to finish because it uses virtual memory.