As in this example.
http://www.panoramio.com/lookaround/38848817
You can click on the photo to see another photo. How did they match these photos up?
Is there any software which can help me do this?
some of the panorama programs use image feature correspondence to match up the images
what happens in one of these programs is the images are analyzed to find their features algorithm like, SURF: Speeded Up Robust Features, among countless others
then the images are matched to determine the position and orientation (that's 6 dimension) for each image this is solved using some type of optimization algorithm
clearly there are a lot of details i left out, but one thing i'll mention is that Microsoft's photosynth uses the same base but tackles a much harder problem as they use images not taken at the same time to stitch with