Abstract:
In a machine-implemented method for use with a handheld device, a user is able to virtually try on a selected garment using augmented reality. The machine-implemented method includes: (A) establishing a garment database containing information corresponding to at least one garment, the information corresponding to each garment including a backside image of the garment; (B) establishing a marker database containing feature information of a backside marker; and (C) upon determining from a captured image of the user who is tagged with at least one physical maker that the physical marker corresponds to the backside marker, retrieving from the garment database the backside image of a selected garment, and superimposing the retrieved backside image onto the captured image of the user to form a composite image for display on a screen of the handheld device.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
       [0001]    This application claims priority of Taiwanese Application No. 099145863, filed on Dec. 24, 2010. 
       BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The invention relates to a method and system for trying on a garment, more particularly to a machine-implemented method, a system and a computer program product for enabling a user to virtually try on a selected garment using augmented reality. 
         [0004]    2. Description of the Related At 
         [0005]    Internet shopping has become a popular and convenient way of making purchases of commodities. When purchasing a garment online, there is a risk that the garment may not fit the consumer properly because the consumer is unable to try on the garment in advance before making the purchase, thereby creating the possibility of having to go through a tedious and troublesome exchange or refund process. In view of this risk, some consumers are held back from shopping for garments online. 
         [0006]    Therefore, in order to solve this problem, a conventional system enabling a consumer to virtually try on clothes using augmented reality has been developed, where the front side of the consumer needs to be tagged with a marker for detection. However, with this type of conventional system, one can only see a front image of him/herself in the garment, and not the side or the back. In other words, the consumer is unable to acquire a full picture of how the garment would fit on him/her with the conventional system. 
       SUMMARY OF THE INVENTION 
       [0007]    Therefore, the object of the present invention is to provide a machine-implemented method, a system and a computer program product enabling a user to try on a selected garment using augmented reality while eliminating the drawbacks of the prior art. 
         [0008]    According to one aspect of the present invention, there is provided a machine-implemented method for use with a handheld device to enable a user to virtually try on a selected garment using augmented reality, The machine-implemented method comprises the steps of: (A) establishing a garment database that contains information corresponding to at least one garment, the information corresponding to each of said at least one garment including a backside image of the garment; (B) establishing a marker database containing feature information of a backside marker; and (C) upon determining from a captured image of the user who is tagged with at least one physical maker that the physical marker corresponds to the backside marker with reference to the marker database, performing the sub-steps of (C-1) retrieving from the garment database the backside image of a selected one of said at least one garment, and (C-2) superimposing the backside image retrieved in sub-step (C-1) onto the captured image of the user to form a composite image for display on a screen of the handheld device. 
         [0009]    Preferably, when the user is tagged with two of the physical markers, in the garment database established in step (A), the information corresponding to each of said at least one garment includes the backside image of the garment in each of two different sizes. In this case, upon determining in step (C) that each of the two physical markers corresponds to the backside marker with reference to the marker database, step (C) further includes the sub-step of determining a distance between the two physical markers with reference to the captured image of the user so as to serve as a shoulder width of the user, and in sub-step (C-1), the backside image is retrieved from the garment database with reference to the shoulder width, and is of the size that is the most closely related to the shoulder width. 
         [0010]    Further, in one implementation, in the garment database established in step (A), the information corresponding to each of said at least one garment further includes a left/right side image of the garment. The marker database established in step (B) further contains feature information of a left/right side marker. The machine-implemented method further comprises the step of (D) upon determining from the captured image of the user that the physical marker corresponds to the left/right side marker with reference to the marker database, performing the sub-steps of (D-1) retrieving from the garment database the left/right side image of the selected one of said at least one garment, and (D-2) superimposing the left/right side image retrieved in sub-step (D-1) onto the captured image of the user to form another composite image for display on at least one of the screen of the handheld device and a main display screen. 
         [0011]    In another implementation, in the garment database established in step (A), the information corresponding to each of said at least one garment further includes a front side image of the garment. The marker database established in step (B) further contains feature information of a front side marker. The machine-implemented method further comprises the step of (E) upon determining from the captured image of the user that the physical marker corresponds to the front side marker with reference to the marker database, performing the sub-steps of (E-1) retrieving from the garment database the front side image of the selected one of said at least one garment, and (E-2) superimposing the front side image retrieved in sub-step (E-1) onto the captured image of the user to form another composite image for display on at least one of the screen of the handheld device and a main display screen. 
         [0012]    In still another implementation, where the user is tagged with two of the physical markers, in the garment database established in step (A), the information corresponding to each of said at least one garment includes the front side image of the garment in each of two different sizes. Upon determining in step (E) that each of the two physical markers corresponds to the front side marker with reference to the marker database, step (E) further includes the sub-step of determining a distance between the two physical markers with reference to the captured image of the user so as to serve as a shoulder width of the user, and in sub-step (E-1), the front side image is retrieved from the garment database with reference to the shoulder width, and is of the size that is the most closely related to the shoulder width. 
         [0013]    According to another aspect of the present invention, there is provided a system to be used with a handheld device that includes a screen and an image capturing module that captures an image of a user for enabling the user to virtually try on a selected garment using augmented reality. The user is tagged with at least one physical marker. The system includes a marker database, a garment database, an image recognition module and an image processing module. The marker database contains feature information of a backside marker. The garment database contains information corresponding to at least one garment. The information corresponding to each of said at least one garment includes a backside image of the garment. The image recognition module is capable of accessing the marker database, and determines from the image of the user as captured by the image capturing module whether the physical marker corresponds to the backside marker with reference to the marker database. The image processing module is in communication with the image recognition module, and is capable of accessing the garment database. The image processing module retrieves from the garment database the backside image of a selected one of said at least one garment, and superimposes the backside image thus retrieved onto the image of the user as captured by the image capturing module to form a composite image for display on the screen of the handheld device when the image recognition module determines that the physical marker corresponds to the backside marker. 
         [0014]    Preferably, the image processing module transmits the composite image to the handheld device for display on the screen of the handheld device. 
         [0015]    Alternatively, the image processing module is provided in the handheld device, and the image recognition module notifies the image processing module of the result of the determination. 
         [0016]    In one implementation, where the user is tagged with two of the physical markers, the information in the garment database and corresponding to each of said at least one garment includes the backside image of the garment in each of two different sizes. The image recognition module determines from the image of the user as captured by the image capturing module whether each of the two physical markers corresponds to the backside marker with reference to the marker database. The image processing module determines a distance between the two physical markers with reference to the image of the user so as to serve as a shoulder width of the user when the image recognition module determines that each of the two physical markers corresponds to the backside marker. The image processing module retrieves from the garment database the backside image with reference to the shoulder width, and the backside image thus retrieved is of the size that is the most closely related to the shoulder width. 
         [0017]    In another implementation, the information in the garment database and corresponding to each of said at least one garment further includes a left/right side image of the garment. The marker database further contains feature information of a left/right side marker. The image recognition module further determines from the image of the user as raptured by the image capturing module whether the physical marker corresponds to the left/right side marker with reference to the marker database. The image processing module retrieves from the garment database the left/right side image of the selected one of said at least one garment, and superimposes the left/right side image thus retrieved onto the image of the user as captured by the image capturing module to form another composite image for display on at least one of the screen of the handheld device and a main display screen when the image recognition module determines that the physical marker corresponds to the left/right side marker. 
         [0018]    In another implementation, the information in the garment database and corresponding to each of said at least one garment further includes a front side image of the garment. The marker database further contains feature information of a front side marker. The image recognition module further determines from the image of the user as captured by the image capturing module whether the physical marker corresponds to the front side marker with reference to the marker database. The image processing module retrieves from the garment database the front side image of the selected one of said at least one garment, and superimposes the front side image thus retrieved onto the image of the user to form another composite image for display on at least one of the screen of the handheld device and a main display screen when the image recognition module determines that the physical marker corresponds to the front side marker. Preferably, when the user is tagged with two of the physical markers, the information in the garment database and corresponding to each of the at least one garment includes the front side image of the garment in each of two different sizes. The image recognition module determines from the image of the user as captured by the image capturing module whether each of the two physical markets corresponds to the front side marker with reference to the marker database. The image processing module determines a distance between the two physical markers with reference to the image of the user so as to serve as a shoulder width of the user when the image recognition module determines that each of the two physical markers corresponds to the front side marker. The image processing module retrieves from the garment database the front side image with reference to the shoulder width, and the front side image thus retrieved is of the size that is the most closely related to the shoulder width. 
         [0019]    According to still another object of the present invention, there is provided a computer program product that comprises a computer readable storage medium that includes program instructions, which when executed by an electronic device, cause the electronic device to perform the above-mentioned method. 
         [0020]    The advantages and effects achieved by the present invention lie in that it enables the user to visualize how the selected garment would look on him/her from the back, the front, and the sides with the aid of the handheld device, and that it enables automatic selection of the most appropriate size of the selected garment for the virtual try on. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0021]    Other features and advantages of the present invention will become apparent in the following detailed description of the preferred embodiments with reference to the accompanying drawings, of which: 
           [0022]      FIG. 1  is a block diagram, illustrating the first preferred embodiment of a system for enabling a user to virtually try on a selected garment using augmented reality according to the present invention; 
           [0023]      FIG. 2  is a schematic diagram, illustrating a backside fitting of the selected garment on the user; 
           [0024]      FIG. 3  is a schematic diagram, illustrating a left side fitting of the selected garment on the user; 
           [0025]      FIG. 4  is a schematic diagram, illustrating a right side fitting of the selected garment on the user; 
           [0026]      FIG. 5  is a schematic diagram, illustrating a front side fitting of the selected garment on the user; 
           [0027]      FIG. 6A  and  FIG. 6B  cooperatively illustrate a flow chart, illustrating the first preferred embodiment of a machine-implemented method for enabling a user to virtually try on a selected garment using augmented reality according to the present invention; 
           [0028]      FIG. 7  is a flow chart, illustrating partial steps of another implementation of the first preferred embodiment where the user is tagged with two physical markers; 
           [0029]      FIG. 8  is a flow chart, illustrating partial steps of said another implementation of the first preferred embodiment; 
           [0030]      FIG. 9  is a block diagram, illustrating the second preferred embodiment of a system for enabling a user to virtually try on a selected garment using augmented reality according to the present invention; and 
           [0031]      FIG. 10A  and  FIG. 10B  cooperatively illustrate a flow chart, illustrating the second preferred embodiment of a machine-implemented method for enabling a user to virtually try on a selected garment. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0032]    Before the present invention is described in greater detail, it should be noted that like elements are denoted by the same reference numerals throughout the disclosure. 
         [0033]    With reference to  FIG. 1  and  FIG. 2 , the first preferred embodiment of a system  1  for enabling a user  9  to virtually try on a selected garment using augmented reality is to be used with a handheld device  2  that includes a screen  21 , and an image capturing module  3  that captures an image of the user  9 . In order to use the system  1 , the user  9  needs to be tagged with at least one physical marker  8 . The image capturing module  3  may, for instance, be a CCD or a CMOS camera. The system  1  includes a marker database  11 , a garment database  12 , an image recognition module  13  and an image processing module  14 . The marker database  11  contains feature information of a backside marker  8   a.  The garment database  12  contains information corresponding to at least one garment. The information corresponding to each of said at least one garment includes a backside image of the garment. The image recognition module  13  is capable of accessing the marker database  11 , and determines from the image of the user  9  as captured by the image capturing module  3  whether the physical marker  8  corresponds to the backside marker  8   a  with reference to the marker database  11 . The image processing module  14  is in communication with the image recognition module  13 , and is capable of accessing the garment database  12 . The image processing module  14  retrieves from the garment database  12  the backside image of a selected one of said at least one garment, and superimposes the backside image thus retrieved onto the image of the user gas captured by the image capturing module  8  to forma first composite image  71  for display on the screen  21  of the handheld device  2  when the image recognition module  13  determines that the physical marker  8  corresponds to the backside marker  8   a.    
         [0034]    With further reference to  FIG. 3  and  FIG. 4 , the system  1  of the first preferred embodiment is preferably further used with a main display screen  4 . The information in the garment database  12  and corresponding to each of said at least one garment further includes a left side image and a right side image of the garment. The marker database  11  further contains feature information of a left side marker  8   a  and a right side marker  8   b ′. The image recognition module  13  further determines from the image of the user  9  as captured by the image capturing module  3  whether the physical marker  8  corresponds to the left or right side marker  8   b , with reference to the marker database  11 . The image processing module  14  retrieves from the garment database  12  the left or right side image of the selected one of said at least one garment, and superimposes the left or right side image thus retrieved onto the image of the user  9  as captured by the image capturing module  3  to form a second composite image  72 ,  72 ′ for display on at least one of the screen  21  of the handheld device  2  and the main display screen  4  when the image recognition module  13  determines that the physical marker  8  corresponds to the left or right side marker  8   b,    8   b′.    
         [0035]    With further reference to  FIG. 5 , in the first preferred embodiment, the information in the garment database  12  and corresponding to each of said at least one garment further includes a front side image of the garment. The marker database  11  further contains feature information of a front side marker  8   c.  The image recognition module  13  further determines from the image of the user  9  as captured by the image capturing module  3  whether the physical marker  8  corresponds to the front side marker  8   c  with reference to the marker database  11 . The image processing module  14  retrieves from the garment database  12  the front side image of the selected one of said at least one garment, and superimposes the front side image thus retrieved onto the image of the user  9  to form a third composite image  73  for display on at least one of the screen  21  of the handheld device  2  and the main display screen  4  when the image recognition module  13  determines that the physical marker  8  corresponds to the front side marker  8   c.    
         [0036]    In this embodiment, as shown in  FIG. 2 , the first composite image  71  (i.e., virtual backside fitting of the selected garment) is displayed on the screen  21  of the handheld device  2 , and as shown in  FIGS. 3 ,  4  and  5 , each of the second and third composite images  72 ,  72 ′,  73  (i.e., each of virtual left, right and front side fittings of the selected garment) is displayed on both the screen  21  of the handheld device  2  and the main display screen  4 . However, it should be noted herein that the first composite image  71  may also be simultaneously displayed on the main display screen  4  for view by others, while the handheld device  2  may be held by the user  9  to facilitate easy viewing of the first and second composite images  71 ,  72 . 
         [0037]    According to the above, the image processing module  14  also transmits the composite image  71 ,  72 ,  72 ′ and/or  73  to the handheld device  2  for display on the screen  21  of the handheld device  2 . 
         [0038]    The system  1  may further include an input device (not shown) so as to enable the user  9  to make the selection of the garment the user  9  desires to try on. The main display screen  4  and the input device may be incorporated into and implemented as a touch control liquid crystal display (LCD). The touch control liquid crystal display may display a user interface (not shown) to facilitate user input. 
         [0039]    The first preferred embodiment may be used by an online store, in which the consumer (i.e., the user  9 ), who may be sitting at home in his/her room, is in possession of the handheld device  2  (e.g., a cellular phone, a tablet computer, etc.), the image capturing module  3  (e.g., a web cam) and the main display screen (e.g., a computer monitor), while the online store server or service provider is in control of the marker database  11 , the garment database  12 , the image recognition module  13  and the image processing module  19 . The marker database  11 , the garment database  12 , the image recognition module  13  and the image processing module  14  may be in the form of software programs installed in the server. The first preferred embodiment may also be used by an actual store (as opposed to an online store), where the store provides all of the handheld device  2 , the image capturing module  3 , the main display screen  4 , the marker database  11 , the garment database  12 , the image recognition module  13  and the image processing module  14  for use by its customers. Any consumer (i.e., the user  9 ) who walks into the store can simply use the system  1  to virtually try on any piece of garment he/she desires. 
         [0040]    In this embodiment, the marker database  11  and the image recognition module  13  may be implemented using ARToolKit, which is an open source library for building augmented reality applications. ARToolKit is capable of using computer graphics principles to determine a position of the physical maker  8  tagged on the user  9  relative to the image capturing module  3 , and is also capable of fast and accurate tracking of the movement of the physical maker  8 . Further, the image processing module  14  forms the first, second and third composite images  71 ,  72 ,  72 ′,  73  with reference to the size and location of the physical marker  8  in the image of the user  9  as captured by the image capturing module  3 . For instance, the image processing module  14  may be implemented using a three-dimensional (3D) graphics tool that conforms to the OpenGL specification. The image processing module  14  retrieves from the garment database  12  a corresponding bitmap image of the selected garment (i.e., one of the backside image, the front side image, the left side image and the right side image) corresponding to the try-on angle of the user  9  (i.e., one of the backside, the front side, the left side and the right side) chosen/determined with reference to the image of the user  9  as captured by the image capturing module  3 , makes the background of the corresponding bitmap image transparent so as to leave only the body of the selected garment in the image, and then superimposes the resultant image onto the image of the user  9  as captured by the image capturing unit  3  for display on the screen  21  of the handheld device  2  and/or the main display screen  4 . 
         [0041]    With reference to  FIG. 2 , in this embodiment, the user  9  is tagged with two of the physical markers  8 . The information in the garment database  12  and corresponding to each of said at least one garment includes the backside image of the garment in each of two different sizes. The image recognition module  13  determines from the image of the user  9  as captured by the image capturing module  3  whether each of the two physical markers  8  corresponds to the backside marker  8   a  with reference to the marker database  11 . The image processing module  14  determines a distance between the two physical markers  8  with reference to the image of the user  9  so as to serve as a shoulder width of the user  9  when the image recognition module  13  determines that each of the two physical markers  8  corresponds to the backside marker  8   a.  The image processing module  14  retrieves from the garment database  12  the backside image with reference to the shoulder width, and the backside image thus retrieved is of the size that is the most closely related to the shoulder width. 
         [0042]    It should be noted herein that one would readily appreciate that the patterns on the physical markers  8  are not limited to those illustrated herein, and can be any pattern that is recognizable by the image recognition module  13  or that can be used in augmented reality applications. 
         [0043]    Similarly, with reference to  FIG. 4 , the information in the garment database  13  and corresponding to each of said at least one garment includes the front side image of the garment in each of two different sizes. The image recognition module  13  determines from the image of the user  9  as captured by the image capturing module  3  whether each of the two physical markers  8  corresponds to the front side marker  8   c  with reference to the marker database  11 . The image processing module  14  determines a distance between the two physical markers  8  with reference to the image of the user  9  so as to serve as a shoulder width of the user  9  when the image recognition module  13  determines that each of the two physical markers B corresponds to the front side marker  8   c.  The image processing module  14  retrieves from the garment database  12  the front side image with reference to the shoulder width, and the front side image thus retrieved is of the size that is the most closely related to the shoulder width. 
         [0044]    It should be further noted herein that although it is illustrated in this embodiment that there is only one type of backside marker  8   a  and one type of front side marker  8   c,  there may be multiple types of backside makers  8   a  (e.g., two types of backside markers to be tagged respectively on a left backside shoulder of the user  9  and a right backside shoulder of the user  9 ) and multiple types of front side markers  8   c,  such that when the user  9  is, for instance, tagged with two different types of backside markers  8   a,  marker recognition and shoulder width determination can still be performed smoothly and successfully. 
         [0045]    With reference to  FIGS. 1 ,  2 ,  6 A and  6 B, the first preferred embodiment of a machine-implemented method for use with a handheld device  2  to enable a user  9  to virtually try on a selected garment using augmented reality includes the following steps. 
         [0046]    In step  101 , a garment database  12  is established to contain information corresponding to at least one garment. The information corresponding to each of said at least one garment includes a backside image, a left side image, a right side image and a front side image of the garment. 
         [0047]    In step  102 , a marker database  11  is established to contain feature information of a backside marker  8   a , a left side marker  8   b,  a right side marker  8   b ′, and a front side marker  8   c.    
         [0048]    In step  103 , it is determined from a captured image of the user  9  who is tagged with at least one physical marker B whether the physical marker  8  corresponds to the backside marker  8   a,  the left side maker  8   b,  the right side marker  8   b ′, or the front side marker  8   c  with reference to the marker database  11 . 
         [0049]    If the physical marker  8  corresponds to the backside marker  8   a,  the flow goes to step  104 , where it is retrieved from the garment database  12  the backside image of a selected one of said at least one garment. Next, in step  105 , the backside image retrieved in step  104  is superimposed onto the captured image of the user  9  to form a first composite image  71  for display on a screen  21  of the handheld device  2 . 
         [0050]    If the physical marker  8  corresponds to the left side marker  8   b,  the flow goes to step  106 , where it is retrieved from the garment database  12  the left side image of the selected one of said at least one garment. Next, in step  107 , the left side image retrieved in step  106  is superimposed onto the captured image of the user  9  to form a second composite image  72  for display on at least one of the screen  21  of the handheld device  2  and a main display screen  4 . 
         [0051]    If the physical marker  8  corresponds to the right side marker  8   b ′, the flow goes to step  108 , where it is retrieved from the garment database  12  the right side image of the selected one of said at least one garment. Next, in step  109 , the right side image retrieved in step  108  is superimposed onto the captured image of the user  9  to form another second composite image  72 ′ for display on at least one of the screen  21  of the handheld device  2  and the main display screen  4 . 
         [0052]    If the physical marker  8  corresponds to the front side marker  8   c,  the flow goes to step  110 , where it is retrieved from the garment database  12  the front side image of the selected one of said at least one garment. Next, in step  111 , the front side image retrieved in step  110  is superimposed onto the captured image of the user  9  to form a third composite image  73  for display on at least one of the screen  21  of the handheld device  2  and the main display screen  4 . 
         [0053]    After completion of each of steps  105 ,  107 ,  109  and  111 , the flow goes to step  112 , where the composite image  71 ,  72 ,  72 ′,  73  is transmitted to the handheld device  2  for display on the screen  21  thereof and/or to the main display screen  4  for display thereon. 
         [0054]    Alternatively, with reference to  FIG. 2  and  FIG. 7 , in the garment database  12  established in step  101 , the information corresponding to each of said at least one garment includes the backside image of the garment in each of two different sizes, and the front side image of the garment in each of two different sizes. If the user  9  is tagged with two physical markers  8 , and from a single captured image of the user  9 , if each of the two physical markers  8  is recognized by the image recognition module  13  to correspond to the backside marker  8   a,  the flow after Step  103  shown in  FIG. 6A  goes to step  113 , where a distance between the two physical markers  8  is determined with reference to the captured image of the user  9  so as to serve as a shoulder width of the user  9 . Subsequently, the flow goes to step  104 ′, where the backside image is retrieved from the garment database  12  with reference to the shoulder width, and is of the size that is the most closely related to the shoulder width. The retrieved backside image is then superimposed onto the captured image of the user  9  to form the first composite image  71  for display on the screen  21  of the handheld device  2  in step  105 . Similarly, with reference to  FIG. 5  and  FIG. 8 , from a single captured image of the user  9 , if each of the two physical markers  8  is recognized by the image recognition module  13  to correspond to the front side marker  8   c,  the flow after step  103  would go to step  119 , where a distance between the two physical markers  8  is determined with reference to the captured image of the user  9  so as to serve as a shoulder width of the user  9 . Subsequently, the flow goes to step  110 ′, where the front side image is retrieved from the garment database  12  with reference to the shoulder width, and is of the size that is the most closely related to the shoulder width. The retrieved front side image is then superimposed onto the captured image of the user  9  to form the third composite image  73  for display on the screen  21  of the handheld device  2  in step  111 . 
         [0055]    It should be noted herein that there may be information in the garment database  12  that corresponds to more than two different sizes for the same garment. 
         [0056]    With reference to  FIG. 2  and  FIG. 9 , the second preferred embodiment of a system  1 ′ for enabling a user  9  to virtually try on a selected garment using augmented reality differs from the first preferred embodiment in that the image processing module  14  is provided in the handheld device  2 , and that the image recognition module  13  notifies the image processing module  14  of the result of its determination of whether, from the image of the user  9  as captured by the image capturing module  3 , the physical marker  8  corresponds to the backside marker  8   a,  the left side marker  8   b,  the right side marker  8   b ′ or the front side marker  8   c.  This embodiment may be implemented, for instance, by installing the image processing module  14  in the form of an application software on the handheld device  2 , which is in the possession of the user  9  and is in communication with the system  1  wirelessly, over a wire, or over the Internet, etc. 
         [0057]    Accordingly, with further reference to  FIGS. 10A and 10B , the second preferred embodiment of a machine-implemented method for enabling a user to virtually try on a selected garment using augmented reality differs from the first preferred embodiment in that, in step  104 ″, the handheld device  2  receives the backside image of the selected garment, and step  105 ″, the handheld device  2  superimposes the backside image received in step  104 ″ onto the captured image of the user  9  to form the first composite image  71 . Similarly, in steps  106 ″,  108 ″ and  110 ″, the handheld device  2  receives the left side, right side and front side images of the selected garment, respectively, while in steps  107 ″,  109 ″ and  111 ″, the handheld device  2  superimposes the left side, right side and front side images respectively received in steps  106 ″,  108 ″ and  110 ″ onto the captured image of the user  9  to form the second and third composite images  72 ,  72 ′,  73 , respectively. 
         [0058]    Subsequently, in step  112 ″, the handheld device  2  displays the composite images  71 ,  72 ,  72 ′,  73  on the screen  21  thereof. In addition, in step  113 ″, the handheld device  2  transmits the composite images  71 ,  72 ,  72 ′,  73  to the main display screen  4  for display thereon, and step  113 ″ is an optional step. 
         [0059]    Furthermore, the present invention also provides a computer program product, which comprises a computer readable storage medium that includes program instructions, which when executed by an electronic device, cause the electronic device to perform the machine-implemented method as disclosed hereinabove. 
         [0060]    In summary, the present invention achieves the following advantages. First of all, the present invention is designed to be used with a handheld device  2  so as to enable the user  9  to see how the selected garment would fit on him/her from the back and side, and not just from the front. In addition, the present invention is capable of automatically selecting a size that would most appropriately fit the user  9  by the use of two physical markers  8  and the ability to determine a shoulder width. 
         [0061]    While the present invention has been described in connection with what are considered the most practical and preferred embodiments, it is understood that this invention is not limited to the disclosed embodiments but is intended to cover various arrangements included within the spirit and scope of the broadest interpretation so as to encompass all such modifications and equivalent arrangements.