A method of processing images captured by an in vivo capsule camera is disclosed. The images having large overlap exceeding a threshold are stitched into larger images. If the current image and none of its neighboring images has large overlap, the current image is designated as a non-stitched image. Any image, that exists between two images stitched and is not included in the stitched image, is also designated as a non-stitched image. The large-overlap stitching can be performed on the images iteratively by treating the stitched images and non-stitched image as to be processed images in the next round. A second stage stitching can be applied to stitch small-overlap images. The small-overlap image stitching can also be applied iteratively. A third stage stitching can be further applied to stitch the output images from the second stage processing.