1. A method of stitching together a respective image region from each of a plurality of input images, comprising: detecting feature points in each image region, and identify candidate corresponding feature points among the image regions, reject incorrect correspondences among the candidate corresponding feature points to define corresponding features points; warping the corresponding feature points onto a defined world coordinates spanning the image regions; For each of said image regions, (a) defining a first weight, i.e. w 1 , as a “distance weight” wherein each pixel is assigned a distance weight dependent upon its proximity to an edge of its respective image region; (b) defining a second weight, i.e. w 2 , as a “gradient weight” wherein pixels having a higher gradient, i.e. difference in intensity value as compared to neighboring pixels, receiving a higher weight value; (c) defining a third weight, i.e. w 3 , as a “histogram weight” of the intensity of each pixel across all image regions, stitching the respective image regions by a blending function applied to overlapping areas of the image regions, wherein in said blending function, across each image region to be stitched, its three weights are normalized to weight values from 0 to 1, to define a first normalized weight, i.e. Norm( 1 ), a second normalized weight, i.e. Norm(w 2 ) and a third normalized weight, i.e. Norm(w 3 ), and overlapping regions are combined by the following relationship: w=Norm(w 1 )+Norm(w 2 )+2*Norm(w 3 ).