Patent Publication Number: US-9842406-B2

Title: System and method for determining colors of foreground, and computer readable recording medium therefor

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application claims priority from Korean Patent Application No. 10-2015-0133092, filed on Sep. 21, 2015, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference. 
     BACKGROUND 
     1. Field 
     Apparatuses and methods consistent with exemplary embodiments relate to determining colors of a foreground of an image, and more particularly, to determining foreground colors from a background model and an inaccurately detected foreground in the image. 
     2. Description of the Related Art 
     Color determining and sorting techniques are used for determining colors of objects from images and sorting the determined colors. These techniques are widely used in applications such as image analysis and video surveillance including video search, object search, and object tracking. 
     In the related art, color determination is carried out by calculating a foreground mask of a moving object using a motion detection technique, and determining a dominant color of a region of the foreground mask as a representative color of the object. 
     The color determination in the related art is significantly affected by the accuracy of foreground mask calculation. However, a calculated foreground mask does not often match a moving object because of algorithmic limitations. 
     In most algorithms, a foreground mask is set to be calculated to be greater than the actual region of an object, and thus the foreground mask may include background pixels. 
       FIGS. 1A and 1B  are exemplary views illustrating results of foreground detection performed according to the related art. Referring to  FIG. 1B , a region denoted by a dashed line is a foreground mask region calculated using an algorithm of the related art, and gray, which is the color of stairs that people step on in  FIG. 1A , is calculated as the dominant color, that is, the representative color of the foreground mask region. 
     For example, although a color that a person intends to perceive in ground truth data is the color of a military uniform (for example, green), a totally different color may be detected, and thus, incorrect results may be obtained in a later video search process. 
     SUMMARY 
     One or more exemplary embodiments provide a system and method for accurately determining foreground colors even from an inaccurately detected foreground, and a computer readable recording medium therefor. 
     Various aspects will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the presented embodiments. 
     According to one or more exemplary embodiments, there is provided a system for determining at least one color of a foreground which may include: a motion detector configured to detect a motion region from an image of an area; and a color determiner configured to determine at least one color of the foreground included in the motion region based on a difference between at least one color of the motion region and at least one color of a background which is a region outside the motion region in the image, for displaying the foreground color with the foreground at a display device. 
     The color determiner may be further configured to generate a color histogram of the background and a color histogram of the motion region, obtain a color histogram of the foreground based on a difference between the color histogram of the motion region and the color histogram of the background, and determine the color of the foreground from the color histogram of the foreground. 
     The system may further include a background model storage configured to store background image information of the area, and the color determiner may determine the color of the background from the background image information. The background model storage may be further configured to update the background image information periodically or in real time with respect to the area. 
     The motion region may include a first section corresponding to the foreground and a second section corresponding to a remaining section of the motion region, and the color determiner may be further configured to determine at least one color of the first section as the color of the foreground. 
     The background may be a remaining region of the image not including the first section. 
     The system may further include a display device configured to display the color of the foreground on a border of the foreground. 
     According to one or more exemplary embodiments, there is provided a method of determining at least one color of a foreground. The method may include: detecting a motion region from an image of an area; and determining at least one color of the foreground included in the motion region based on a difference between at least one color of the motion region and at least one color of a background which is a region outside the motion region in the image, for displaying the foreground color with the foreground at a display device. 
     The method may further include: generating a color histogram of the background and a color histogram of the motion region; obtaining a color histogram of the foreground based on a difference between the color histogram of the motion region and the color histogram of the background; and determining the color of the foreground from the color histogram of the foreground. 
     The method may further include updating the background image periodically or in real time. 
     The motion region may include a first section corresponding to the foreground and a second section corresponding to a remaining section not including the first section, and the determining of the color of the foreground may include determining the color of the first section. 
     The background may be a remaining region of the image not including the first section. 
     The method may further include displaying the color of the foreground on a border of the foreground. 
     According to one or more exemplary embodiments, a computer readable recording medium stores a program for executing the foreground color determining method. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and/or other aspects will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings, in which: 
         FIGS. 1A and 1B  are exemplary views illustrating results of foreground detection performed according to the related art; 
         FIG. 2  is a schematic view illustrating a system for determining colors of a foreground according to an exemplary embodiment; 
         FIG. 3  is a schematic view illustrating a relationship among a foreground, a background, and a motion region that are included in a frame; 
         FIGS. 4A to 4C  are exemplary views illustrating foreground color determining operations according to exemplary embodiments; 
         FIG. 5  is a schematic view illustrating a system for determining colors of a foreground according to another exemplary embodiment; 
         FIG. 6  is an exemplary view illustrating how foreground colors are displayed according to another exemplary embodiment; 
         FIG. 7  is a flowchart illustrating a method of determining colors of a foreground according to an exemplary embodiment; 
         FIG. 8  is a flowchart illustrating a method of determining colors of a foreground according to another exemplary embodiment; and 
         FIG. 9  is a flowchart illustrating a method of determining colors of a foreground according to another exemplary embodiment. 
     
    
    
     DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS 
     Reference will now be made in detail to exemplary embodiments which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout. In this regard, the presented embodiments may have different forms and should not be construed as being limited to the descriptions set forth herein. Accordingly, the exemplary embodiments are merely described below, by referring to the figures, to explain aspects of the inventive concept. 
     In the following description, the technical terms are used only for explaining the exemplary embodiments while not limiting the inventive concept. The terms of a singular form may include plural forms unless referred to the contrary. The meaning of “include” or “comprise” specifies a property, a fixed number, a step, a process, an element, a component, and a combination thereof but does not exclude other properties, fixed numbers, steps, processes, elements, components, and combinations thereof. It will be understood that although the terms “first” and “second” are used herein to describe various elements, these elements should not be limited by these terms. Terms are only used to distinguish one element from other elements. 
       FIG. 2  is a schematic view illustrating a system  100  for determining colors of a foreground according to an exemplary embodiment. 
     Referring to  FIG. 2 , the foreground color determining system  100  of the exemplary embodiment may include a motion detector  110  and a color determiner  120 . 
     The motion detector  110  may detect a motion region from an image. The image may be any image obtained or captured using any imaging device capable of capturing images. The image may include a background and a foreground. The motion region may correspond to the foreground of the image and may be detected using a motion detection technique. 
     The background model storage  120  may store background image information including colors of the background, and the color determiner  130  may determine colors of the foreground included in the motion region based on the difference between colors of the motion region and colors of the background stored in the background model storage  120 . 
     In a scene including two regions sharing a boundary, a region that is a subject of perception is referred to as a foreground, and the other region is referred to as a background. Generally, a foreground appears as a front portion, and a background appears as a backward portion. Thus, the terms “foreground” and “background” are used with such meanings. However, this is not always the case. A boundary between a foreground and a background appears to be included in the foreground, and the foreground appears to be well defined compared to the background. In addition, the foreground looks brighter than the background. 
     In the image shown in  FIG. 1B , a person corresponds to a foreground, and the remaining region of the image (or frame) not including the foreground corresponds to a background. 
     The foreground color determining system  100  of the exemplary embodiment is provided to accurately determine colors of the foreground, and thus if a region corresponding to the foreground is not accurately detected, it may be difficult to accurately determine the colors of the foreground. Here, the colors determined by the foreground color determining system  100  may be one color when the foreground has only one color or a dominant color when the foreground has a plurality of colors. 
     A motion detection technique may be defined as a process of detecting the position of an object varying relative to the surrounding environment or a method of detecting variations of the surrounding environment relative to a target object. According to the motion detection technique, motions may be detected by a mechanical or electronic method. 
     An example of a mechanical motion detection technique is a technique related to keyboards. Keys of a keyboard have different positions. If a key is pressed to a certain degree, the key may be turned on, and a letter or digit corresponding to the position of the key may be input. 
     Examples of an electronic motion detection technique include an optical detection technique and an acoustic detection technique. In the optical detection technique, the motion of an object may be detected using infrared rays or laser beams. 
     A simple algorithm for detecting motions using an imaging device (such as a camera) is to compare a current image with a reference image and count the number of pixels having different data values. Pixels of the current image having data values different from pixel data values of the reference image may be considered as moving pixels, and a region formed by the moving pixels may be determined as a motion region. 
     In addition to the above-mentioned techniques, many other techniques may be used to detect motions. However, the accuracy of motion detection using such techniques is often low. 
     A region corresponding to a foreground has to be accurately detected from an image before determining colors of the foreground, and the accuracy of color determination is significantly affected by the accuracy of a motion detection technique. 
     Due to this reason, the foreground color determining system  100  of the exemplary embodiment uses the difference between colors of the motion region detected using the motion detection technique and colors of the background stored in the background model storage  120 . 
     The background model storage  120  stores background image information, and the background image information may be updated periodically or in real time with respect to an area which is a target of the image. The background image information may be obtained using an imaging device fixed in position and orientation, and may be stored in each time period. 
     For example, images may be captured using a plurality of imaging devices fixed to 1 st  to n th  positions with fixed photographing orientations, and background image information of the images may be stored at intervals of 1 minute, 10 minutes, or 1 hour. The background image information may be classified into categories reflecting seasonality and may be stored according to the categories so as to take the seasonal variation of shadows into account. 
     If the foreground color determining system  100  receives images from an imaging device operating for 24 hours a day, the background image information may also be updated 24 hours a day. 
     In the image shown in  FIG. 1A , all the regions except regions of moving people may be perceived as a background. Various methods may be used to detect a background from an image captured using an imaging device. For example, as described above, a method of comparing a reference image with a current image may be used. 
     As described above, the color determiner  130  extracts foreground colors from the motion region based on the difference between colors of the motion region and colors of the background stored in the background model storage  120 . Here, the term “colors” indicated in a plural form may represent a single color, depending on an image which is input to the foreground color determining system  100 . The region denoted using a dashed line in  FIG. 1B  may correspond to a motion region. The motion region may include a foreground. Generally, the motion region may be greater than the foreground. 
     A region corresponding to the foreground has to be accurately detected before determining colors from the foreground, so as to accurately determine colors of the foreground. However, since incorrect results are often obtained when a motion detection technique is used, the color determiner  130  considers the difference between colors of the background and colors of the motion region so as to accurately determine colors of the foreground even when the motion region is not accurately detected. 
     The motion region may include a section actually corresponding to the foreground and a section corresponding to the background. In this case, the section of the motion region corresponding to the background, that is, the remaining area of the motion region not including the section actually corresponding to the foreground, may have colors similar to colors of the background rather than to colors of the foreground. 
     Thus, the color determiner  130  may determine colors of the foreground by removing colors corresponding to the background from colors of the motion region. In this manner, although the motion region is inaccurately detected, the foreground color determining system  100  may accurately determine the colors of the foreground. 
     Colors of the background may be obtained from the background image information previously stored in the background model storage  120 . In this case, a background extracted from an image of an area at the same time as the time at which the image of the area was captured may be used to provide the background image information. According to an exemplary embodiment, a background extracted from an image of the area, which is captured immediately before an image of the area from which the foreground colors are to be determined is captured, may be used to provide the background image information. According to another exemplary embodiment, a background extracted from an image of the area, which does not have any motion information and is captured immediately before an image of the area from which the foreground colors are to be determined is captured, may be used to provide the background image information. According to still another exemplary embodiment, background image information of an image of the area captured at a similar time under similar a weather condition may be used to take seasonality and variations of the weather into account. 
     The background model storage  120  may update the background image information periodically or in real time based on images captured using an imaging device, and thus, when colors are determined from the foreground of the image, the color determiner  130  may provide a proper piece of the background image information according to variables such as the time and weather at or in which the image is captured. 
     In addition, when the background image information is stored, the background image information may be categorized according to variables such as an image capture time or weather at which images are captured, so as to improve the accuracy of foreground color determination. 
     Since the background image information as described above is used to remove the colors corresponding to the background from the colors of the motion region of the image, the colors of a section in the motion region except another section actually corresponding to the foreground does not have to be determined directly from this section. Further, the color determiner  120  may determine that the colors of the section in the motion region except the other region is substantially similar to or the same as the colors of the background included in the background image information. Thus, the color determiner  120  may not be configured to determine any color from the section in the motion region not included in the foreground to determine the colors of the foreground, thereby reducing the load of the foreground color determining system  100 . 
       FIG. 3  is a schematic view illustrating a relationship among a foreground, a background, and a motion region that are included in a frame. 
     According to an exemplary embodiment, colors to be determined using the foreground color determining system  100  are colors of the foreground, and in  FIG. 3 , the foreground corresponds to the lower body of a person. In addition, a motion region detected by the motion detector  110  corresponds to a region denoted or enclosed by a dashed line in  FIG. 3 , and the background corresponds to all regions of the  FIG. 3  except the foreground. 
     An operation of separating a region corresponding to the foreground from the frame (image) may first be performed before determining colors from the foreground, and the separated region may correspond to the motion region. The motion region may be detected consistent with the foreground. However, if the motion region is detected inconsistent with the foreground, the colors of the foreground may not be accurately determined. 
     Due to this, the foreground color determining system  100  of the exemplary embodiment determines colors of the motion region including a section corresponding to the background, and removes colors of the section corresponding to the background from the colors of the motion region. 
     For example, the motion region may include a first section corresponding to the foreground and a second section as the remaining region. That is, the first section corresponds to the foreground, and the second section corresponds to the background. It is desired that the motion region detected using the motion detector  110  illustrated in  FIG. 2  is accurately consistent with the foreground. That is, it is desired that the first section is accurately detected. However, due to errors of a motion detection operation, the motion region may include the second section as well as the first section actually corresponding to the foreground. The second section corresponds to the background and, the size of the second section may increase as the accuracy of motion detection decreases. 
     Thus, it is necessary to remove colors of the second section corresponding to the background from the colors of the motion region so as to determine colors of the first section actually corresponding to the foreground. This may be described by following formula 1.
 
 C _ TF=C _ MD−C _ FF   (1),
 
where C_TF refers to the colors of the first section C_MD refers to colors of the motion region, and C_FF refers to colors of the second section.
 
     In addition, since the second section corresponds to the background, colors of the second section may be described by following formula 2.
 
 C _ FF=C _ BM   (2),
 
where C_BM refers to the colors of the background.
 
     Substitution of Formula 2 into Formula 1 gives:
 
 C _ TF=C _ MD−C _ BM   [Formula 3]
 
     where C_BM refers to the colors of the background. 
     As described with reference to  FIG. 2 , the colors of the background may be determined using the background image information stored in the background model storage  120 . Colors of a section actually corresponding to the foreground, that is, the colors of the first section, may be determined using information about colors of pixels of the motion region detected by the motion detector  110  and information about colors of pixels of the background obtained from the background image information stored in the background model storage  120 . 
     At this time, the color determiner  130  extracts pixel color information corresponding to pixels included in the motion region from the background image information stored in the background model storage  120 , and compares the extracted pixel color information with color information of the motion region so as to determine colors of the first section. 
       FIGS. 4A to 4C  are exemplary views illustrating foreground color determining operations according to exemplary embodiments. 
     The foreground color detecting operations illustrated in  FIGS. 4A to 4C  may be performed by the color determiner  130  described with reference to  FIGS. 2 and 3 . Referring to  FIGS. 4A to 4C , the color determiner  130  generates a color histogram of a motion region and a color histogram of a background. 
     The color histograms express distribution of pixel values or brightness values of pixels in an image. In each of the color histograms shown in  FIGS. 4A to 4C , the horizontal axis refers to gray level colors, and the vertical axis refers to the frequency of each color. 
     For example, in the horizontal axis of each of the color histograms shown in  FIGS. 4A to 4C , the rightmost color is black, and the coordinates of black in an n-bit RGB color coordinate system are (0, 0, 0). The third color from the right in the horizontal axis of each color histogram is white, and the coordinates of white in the n-bit RGB color coordinate system are (2 n −1, 2 n −1, 2 n −1). 
     In general color histograms, colors are not always expressed as described above. In another example, the horizontal axis of each of the color histograms may have RGB color coordinates (0, 0, 0) to (2 n −1, 2 n −1, 2 n −1) from the origin to the final color. 
       FIG. 4A  illustrates the color histogram of the motion region, and  FIG. 4B  illustrates the color histogram of the background.  FIG. 4C  illustrates a color histogram of a foreground. 
     As shown in  FIGS. 4A to 4C , the color histogram of the foreground may be obtained based on the difference between the color histogram of the motion region and the color histogram of the background. 
     The color histogram of the motion region shown in  FIG. 4A  is compared with the color histogram of the background shown in  FIG. 4B  so as to calculate the difference in each color frequency between the color histograms and thus to obtain the color histogram of the foreground. 
     In the color histogram of the foreground obtained as described above, a color having the highest frequency may be determined as the representative color of the foreground. In  FIG. 4C , a color having the highest frequency is green. Thus, green may be determined as the representative color of the foreground and may be determined as the color of the foreground. 
       FIG. 5  is a schematic view illustrating a foreground color determining system  200  according to another exemplary embodiment. 
     Referring to  FIG. 5 , the foreground color determining system  200  of the exemplary embodiment includes a motion detector  210 , a background model storage  220 , a color determiner  230 , and a color display device  240 . The motion detector  210 , the background model storage unit  220 , and the color determiner  230  are substantially the same as the motion detector  110 , the background model storage  120 , and the color determiner  130  described with reference to  FIG. 2 , and thus repeated descriptions thereof will be omitted. 
     The color display device  240  displays colors determined by the color determiner  230  on a border of a foreground. In the example shown in  FIG. 4 , if green is detected as the representative color of the foreground, the color display device  240  may display green on the border of the foreground. That is, if an image captured using an imaging device is provided to the color display device  240 , the color display device  240  may display the representative color of a foreground of the image on a border of the foreground. 
     In addition, the color display device  240  may receive an image signal and may display colors of the foreground of an image corresponding to the image signal via a display device capable of displaying the image. In this case, the colors of the foreground may be displayed on the display device, or letters corresponding to the colors of the foreground may be displayed on the display device. 
       FIG. 6  is an exemplary view illustrating how foreground colors are displayed according to an exemplary embodiment. 
     As described with reference to  FIG. 5 , in the foreground color determining system  200  of the exemplary embodiment, the foreground colors determined using the color determiner  230  are displayed using the color display device  240 . 
     Referring to  FIG. 6 , the color display device  240  may display colors of the foreground on a border of a rectangular region including the foreground. For example, if green is detected as the representative color of the foreground, the color display device  240  may display the border of the rectangular region with green. Similarly, if blue is detected as the representative color of the foreground, the color display device  240  may display the border of the rectangular region with blue. 
     However, the screen illustrated in  FIG. 6  is an example for describing a method of displaying colors of a foreground. That is, the inventive concept is not limited to the method of displaying a color of a foreground on a border of a rectangular region. 
     The color display device  240  may display letters corresponding to a color determined from a foreground in a peripheral region of the foreground. For example, a color of a foreground may be displayed on a border of a rectangular region including the foreground as shown in  FIG. 6 . In another example, however, after a motion region is detected using the motion detector  110  or  210  of the exemplary embodiment, a color of a foreground of the motion region may be displayed on a border of the motion region. In addition, as described with reference to  FIG. 5 , letters corresponding to a color determined from a foreground may be displayed at a position around the foreground. 
       FIG. 7  is a flowchart illustrating a method of determining colors of a foreground according to an exemplary embodiment. 
     Referring to  FIG. 7 , the foreground color determining method of the exemplary embodiment includes an operation S 110  of detecting a motion region and an operation S 120  of determining colors of a foreground. In the motion region detecting operation S 110 , the motion region may be detected from an image using a foreground color determining device. 
     The foreground color extraction method may be performed using the foreground color determining device, and the foreground color determining device may include substantially the same elements as the elements of the foreground color determining system  100  or  200  described with reference to  FIGS. 2 to 6 . 
     The motion region detected in the motion region detecting operation S 110  may be a region corresponding to the foreground of the image that the foreground color determining device has captured or received, and the image may be captured using any imaging device capable of capturing images that may include backgrounds and foregrounds. 
     Therefore, the motion region may be a region corresponding to the foreground of the image. The motion region may be detected by a motion detection technique. 
     In the foreground color determining operation S 120 , colors of the foreground of the motion region are determined based on the difference between colors of the motion region and colors of a background previously stored in the foreground color determining device. A region corresponding to the foreground has to be accurately detected from the image before determining colors of the foreground, and the accuracy of color determination is significantly affected by the accuracy of a motion detection technique. 
     Due to this reason, the foreground color determining method of the exemplary embodiment uses the difference between colors of the motion region detected using the motion detection technique and colors of the background previously stored in the foreground color determining device. 
     If the accuracy of the motion detection technique is low, the motion region may include a section other than a section actually corresponding to the foreground. If the section of the motion region actually corresponding to the foreground is referred to as a first section, and the section of the motion region other than the first section is referred to as a second section, the second section may substantially correspond to the background. 
     In the foreground color determining operation S 120 , the colors of the foreground, that is, colors of the first section, may be determined based on the difference between the colors of the motion region and the colors of the background. That is, in the foreground color determining operation S 120 , the colors of the foreground may be determined by removing the colors corresponding to colors of the background from the colors of the motion region. 
     The colors of the background may be obtained from background image information previously stored in the foreground color determining device, and the background image information may be updated periodically or in real time. In addition, the background image information may be obtained using an imaging device fixed in position and orientation, and may be stored in each time period. 
     For example, images may be captured using a plurality of imaging devices fixed to 1 st  to n th  positions with fixed photographing orientations, and the background image information of the images may be stored at intervals of 1 minute, 10 minutes, or 1 hour. The background image information may be classified into categories reflecting seasonality, and may be stored according to the categories so as to take the seasonal variation of shadows into account. 
     Thus, when the colors of the foreground of the image are extracted, an accurate piece of background image information may be used according to factors such as a time (e.g., season) in or at which the image is captured, and thus the accuracy of foreground color determination may be improved. 
       FIG. 8  is a flowchart illustrating a method of determining colors of a foreground according to another exemplary embodiment. 
     Referring to  FIG. 8 , the foreground color determining method of the exemplary embodiment includes an operation S 210  of detecting a motion region, an operation S 220  of generating a color histogram of the motion region, an operation S 230  of generating a color histogram of a background, an operation S 240  of obtaining a color histogram of a foreground, and an operation S 250  of determining colors from the foreground. 
     In the motion region detecting operation S 210 , the motion region may be detected from an image using a foreground color determining device. The motion region detected in the motion region detecting operation S 210  may be a region corresponding to a foreground of the image that the foreground color determining device has captured or received, and the image may be captured using any imaging device capable of capturing images that may include backgrounds and foregrounds. Therefore, the motion region may be a region corresponding to the foreground of the image, and the motion region may be detected by a motion detection technique. 
     In the operation  240 , the color histogram of the foreground may be obtained based on the difference between the color histogram of the motion region generated in the operation S 220  and the color histogram of the background generated in the operation S 230 . 
     As described with reference to  FIG. 7 , as the accuracy of the motion detection technique decreases, the motion region may include more of a region corresponding to the background. In this case, if colors corresponding to the background are removed from colors of the motion region so as to determine colors of a region actually corresponding to the foreground, the accuracy of foreground color extraction may be increased. 
     In the foreground color determining method of the exemplary embodiment, color histograms are used for foreground color determination, and in the foreground color determining operation S 250 , one of colors of the foreground having the highest frequency may be determined as a representative color of the foreground. 
       FIG. 9  is a flowchart illustrating a method of determining colors of a foreground according to another exemplary embodiment. 
     Referring to  FIG. 9 , the foreground color determining method of the exemplary embodiment includes an operation S 310  of detecting a motion region, an operation S 320  of generating a color histogram of the motion region, an operation S 330  of generating a color histogram of a background, an operation S 340  of obtaining a color histogram of a foreground, an operation  350  of determining colors of the foreground, and an operation S 360  of displaying the colors of the foreground. 
     The operation S 310  of detecting the motion region, the operation S 320  of generating the color histogram of the motion region, the operation S 330  of generating the color histogram of the background, the operation S 340  of obtaining the color histogram of the foreground, and the operation  350  of determining the colors of the foreground are the same as the operation S 210  of detecting the motion region, the operation S 220  of generating the color histogram of the motion region, the operation S 230  of generating the color histogram of the background, the operation S 240  of obtaining the color histogram of the foreground, and the operation S 250  of determining the colors of the foreground that are described with reference to  FIG. 8 . 
     In the foreground color displaying operation S 360 , colors determined in the foreground color determining operation S 350  may be displayed on a border of the foreground. In the example shown in  FIG. 4 , if green is detected as a representative color of the foreground, green may be displayed on the border of the foreground in the foreground color displaying operation S 360 . That is, in the foreground color displaying operation S 360 , the representative color of the foreground of an image captured using an imaging device may be displayed on the border of the foreground. 
     Alternatively, in the foreground color displaying operation S 360 , an image signal may be received, and the colors of the foreground of an image corresponding to the image signal may be displayed using a display device capable of displaying the image. In this case, the colors of the foreground may be displayed on the display device, or letters corresponding to the colors of the foreground may be displayed on the display device. 
     The inventive concept may also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, and optical data storage. 
     The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. Also, functional programs, codes, and code segments for accomplishing the inventive concept can be easily construed by programmers skilled in the art to which the inventive concept pertains. 
     Operations constituting a method of an exemplary embodiment may be performed in appropriate order unless explicitly described in terms of order or described to the contrary. That is, operations are not limited to the order in which the operations are described. In the present disclosure, examples or exemplary terms (for example, “such as” and “etc.”) are used for the purpose of description and are not intended to limit the scope of the exemplary embodiments unless defined by the claims. Also, those skilled in the art will readily appreciate that many alternations, combinations, and modifications may be made according to design conditions and factors within the scope of the appended claims and their equivalents. 
     At least one of the components, elements, modules or units represented by a block as illustrated in  FIGS. 2 and 5  may be embodied as various numbers of hardware, software and/or firmware structures that execute respective functions described above, according to an exemplary embodiment. For example, at least one of these components, elements, modules or units may use a direct circuit structure, such as a memory, processing, logic, a look-up table, etc. that may execute the respective functions through controls of one or more microprocessors or other control apparatuses. Also, at least one of these components, elements, modules or units may be specifically embodied by a module, a program, or a part of code, which contains one or more executable instructions for performing specified logic functions, and executed by one or more microprocessors or other control apparatuses. Also, at least one of these components, elements, modules or units may further include a processor such as a central processing unit (CPU) that performs the respective functions, a microprocessor, or the like. Two or more of these components, elements, modules or units may be combined into one single component, element, module or unit which performs all operations or functions of the combined two or more components, elements, modules or units. Also, at least part of functions of at least one of these components, elements, modules or units may be performed by another of these components, elements, modules or units. Further, although a bus is not illustrated in the above block diagrams, communication between the components, elements, modules or units may be performed through the bus. Functional aspects of the above exemplary embodiments may be implemented in algorithms that execute on one or more processors. Furthermore, the components, elements, modules or units represented by a block or processing steps may employ any number of related art techniques for electronics configuration, signal processing and/or control, data processing and the like. 
     As described above, according to the one or more of the above exemplary embodiments, foreground colors may be accurately determined even from an inaccurately detected foreground using the system, method, and the computer readable recording medium. 
     It should be understood that exemplary embodiments described herein should be considered in a descriptive sense only and not for purposes of limitation. Descriptions of features or aspects within each exemplary embodiment should typically be considered as available for other similar features or aspects in other exemplary embodiments. 
     While one or more exemplary embodiments have been described with reference to the drawings, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the inventive concept as defined by the following claims.