A method of generating three dimensional body data of a subject from one or more source images captured using a digital imaging device; said method comprising the steps of: (i) capturing one or more source images of the subject using a digital imaging device; (ii) partitioning the one or more source images into a plurality of segments using results from a collection of segmentation methods; (iii) combining, using a weighting of segmentation methods in areas of disagreement, the results of each segmentation method in step (ii) to produce, for each source image, a single unique probability map representing the subject; (iv) comparing the one or more unique probability maps with a database of representations of three dimensional bodies to determine a closest match or best mapping between the or each unique probability map and a representation determined from the database; wherein comparing the one or more unique probability maps with a database of representations of three dimensional bodies to determine a closest match or best mapping comprises the steps of: (v) generating a three dimensional body image from the database of representations of three dimensional bodies, using variables that control the camera, the pose, and the body shape; (vi) generating a silhouette of the three dimensional body image; (vii) comparing the silhouette with the one or more unique probability maps of the subject and determining the degree of match, (viii) iteratively refining the value of the variables through trial-and-error until the best mapping is obtained; (ix) generating three dimensional body data and/or measurements of the subject based on the best mapping and a look up table of known three dimensional body images measurements, wherein the method further comprises a step of (x) altering the three dimensional body images and/or generated silhouettes to account for imaging factors present within the one or more images of the subject. (i) capturing one or more source images of the subject using a digital imaging device; (ii) partitioning the one or more source images into a plurality of segments using results from a collection of segmentation methods; (iii) combining, using a weighting of segmentation methods in areas of disagreement, the results of each segmentation method in step (ii) to produce, for each source image, a single unique probability map representing the subject; (iv) comparing the one or more unique probability maps with a database of representations of three dimensional bodies to determine a closest match or best mapping between the or each unique probability map and a representation determined from the database; (v) generating a three dimensional body image from the database of representations of three dimensional bodies, using variables that control the camera, the pose, and the body shape; (vi) generating a silhouette of the three dimensional body image; (vii) comparing the silhouette with the one or more unique probability maps of the subject and determining the degree of match, (viii) iteratively refining the value of the variables through trial-and-error until the best mapping is obtained; (ix) generating three dimensional body data and/or measurements of the subject based on the best mapping and a look up table of known three dimensional body images measurements, wherein the method further comprises a step of (x) altering the three dimensional body images and/or generated silhouettes to account for imaging factors present within the one or more images of the subject.