Patent Publication Number: US-2021166440-A1

Title: Color correction method for panoramic image and electronic device

Description:
FIELD OF THE INVENTION 
     The present invention relates generally to the field of panoramic images, and particularly relates to a color correction method for a panoramic image and an electronic device. 
     BACKGROUND OF THE INVENTION 
     With the development of science and technology, the application of panoramic images has become more and more popular. The panoramic image can provide a 360-degree panoramic image, giving users an immersive experience. Generally speaking, a panoramic image is composed of two or more photos stitched together. However, due to the influence of the environment, the brightness and color of the photos may is be very different, as a result, the stitched panoramic images have obvious stitching traces, and look very unnatural. Therefore, color correction is the key in the panoramic image stitching process. 
     SUMMARY OF THE INVENTION 
     The problem solved by the present invention is to provide a color correction method for a panoramic image, a computer-readable storage medium and an electronic device, which can make the stitched panoramic image transition smoother and look more natural. 
     According to a first aspect, the present invention provides a color correction method for a panoramic image, comprising steps of: 
     acquiring a first fisheye image and a second fisheye image; 
     expanding the first fisheye image to obtain a first image in an RGB color space, and expanding the second fisheye image to obtain a second image in the RGB color space; 
     calculating overlapping areas between the first image and the second image; 
     converting the first image and the second image from the RGB color space to a Lab color space; 
     in the Lab color space, according to the mean luminance value of a first overlapping area and the mean luminance value of a second overlapping area, adjusting the luminance value of the first image and the luminance value of the second image to reduce the luminance difference between the first image and the second image; where the first overlapping area being an overlapping area between the first image and the second image on the first image, and the second overlapping area being an overlapping area between the first image and the second image on the second image; 
     converting the first image of which the luminance value is adjusted and the second image of which the luminance value is adjusted from the Lab color space to is the RGB color space; and 
     in the RGB color space, according to the mean color value of a first overlapping area and the mean color value of a second overlapping area, adjusting the color value of the second image by using the first image as a reference, or adjusting the color value of the first image by using the second image as a reference. 
     According to a second aspect, the present invention provides a computer-readable storage medium that stores a computer program or computer programs, which when being executed by a processor or processors, cause the processor or processors to perform steps of the above-mentioned color correction method for a panoramic image. 
     According to a third aspect, the present invention provides an electronic device, comprising: 
     one or more processors;
 
a memory; and
 
one or more computer programs where the one or more computer programs are stored in the memory and are configured to be executed by the one or more processors, characterized in that, when executed by the one or more processors, cause the one or more processors to perform steps of the above-mentioned color correction method for a panoramic image.
 
     In the present invention, acquiring a first fisheye image and a second fisheye image; expanding the first fisheye image to obtain a first image in an RGB color space, and expanding the second fisheye image to obtain a second image in the RGB color space; calculating overlapping areas between the first image and the second image; converting the first image and the second image from the RGB color space to a Lab color space; in the Lab color space, according to the mean luminance value of a first overlapping area and the mean luminance value of a second overlapping area, adjusting the luminance value of the first image and the luminance value of the second image to reduce the luminance difference between the first image and the second image; converting the first image of which the luminance value is adjusted and the second image of which the luminance value is adjusted from the Lab color space to the RGB color space; in the RGB color space, according to the mean color value of a first overlapping area and the mean color value of a second overlapping area, adjusting the color value of the second image by using the first image as a reference, or adjusting the color value of the first image by using the second image as a reference. Hence, in the present invention, by first adjusting the luminance value and then the color value, thus reducing the traces in the image stitching process, thereby, the panoramic image obtained after stitching seems more natural. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a flowchart of a color correction method for a panoramic image in accordance with a first embodiment of the present invention; and 
         FIG. 2  is a schematic structural diagram of an electronic device in accordance with a third embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The foregoing objects, technical solutions and advantages of the invention will be much clearer from the following detail description taken with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. 
     In order to explain the technical solutions of the present invention, the following will be described by specific embodiments. 
     First Embodiment 
     Referring to  FIG. 1 , a color correction method for a panoramic image provided in the first embodiment of the present invention, comprises the following steps: it should be noted that if there are substantially the same results, these steps of the color correction method for a panoramic image of the present invention do not necessarily need to be performed in the order illustrated in  FIG. 1 . 
     S 101 , acquiring a first fisheye image and a second fisheye image. 
     Specifically, acquiring a first fisheye image and a second fisheye image through a fisheye camera or an electronic device with a fisheye lens. 
     S 102 , expanding the first fisheye image to obtain a first image in an RGB color space, and expanding the second fisheye image to obtain a second image in the RGB color space. 
     Specifically, expanding the first and the second fisheye images according to the intrinsic parameters, the extrinsic parameters, and the distortion parameters, respectively; and not by way of limitation here. 
     S 103 , calculating overlapping areas between the first image and the second image. 
     Specifically, calculating overlapping areas according to feature matching or correlation matching, and not by way of limitation here. 
     S 104 , converting the first image and the second image from the RGB color space to a Lab color space. 
     In RGB, the three color channels of red (R), green (G), and blue (B) are changed or added together in various way to reproduce a broad array of colors. The RGB has three channels: red channel, green channel and blue channel, can reproduce almost all the colors human visually perceived, and is one of the most widely used color systems currently. 
     Lab is a color model that has nothing to do with the equipment, and it is also a color model based on physiological characteristics. Lab expresses three values: one is luminance (L), the others a and b are two color channels, a includes colors from dark green (low luminance value) to gray (medium luminance value) to bright pink (High luminance value); b includes colors from bright blue (low luminance value) to gray (medium luminance value) to yellow (high luminance value). 
     Specifically, using the XYZ color space, can be converted from the RGB color space to the XYZ color space, and then converted form the XYZ color space to the Lab color space, and not by way of limitation here. 
     S 105 , in the Lab color space, according to the mean luminance value of a first overlapping area and the mean luminance value of a second overlapping area, adjusting the luminance value of the first image and the luminance value of the second image to reduce the luminance difference between the first image and the second image. 
     Where the first overlapping area is an overlapping area between the first image and the second image on the first image, and the second overlapping area is an overlapping area between the first image and the second image on the second image. In addition, it should be noted that the overlapping area may be the entire overlapping area between the first image and the second image, or may be a partial overlapping area, such as the overlapping area of a specific feature, which is not limited here. 
     In the first embodiment of the present invention, adjusting the luminance value of the first image and the luminance value of the second image to reduce the luminance difference between the first image and the second image, by means of but not limited to the following formula: 
     
       
         
           
             
               
                 L 
                 1 
                 ′ 
               
               = 
               
                 
                   L 
                   1 
                 
                 * 
                 
                   
                     
                       L 
                       
                         m 
                          
                         e 
                          
                         a 
                          
                         n 
                          
                         1 
                       
                     
                     + 
                     
                       L 
                       
                         mean 
                          
                         
                             
                         
                          
                         2 
                       
                     
                   
                   
                     2 
                     * 
                     
                       L 
                       
                         mean 
                          
                         
                             
                         
                          
                         1 
                       
                     
                   
                 
               
             
             ; 
           
         
       
       
         
           
             
               L 
               2 
               ′ 
             
             = 
             
               
                 L 
                 2 
               
               * 
               
                 
                   
                     L 
                     
                       m 
                        
                       e 
                        
                       a 
                        
                       n 
                        
                       1 
                     
                   
                   + 
                   
                     L 
                     
                       mean 
                        
                       
                           
                       
                        
                       2 
                     
                   
                 
                 
                   2 
                   * 
                   
                     L 
                     
                       m 
                        
                       e 
                        
                       a 
                        
                       n 
                        
                       2 
                     
                   
                 
               
             
           
         
       
         
         
           
             where, L mean1  represents the mean luminance value of the first overlapping area;
           L mean2  represents the mean luminance value of the second overlapping area;   L 1  represents the luminance value of the first image before being adjusted;   L 1′  represents the luminance value of the first image after being adjusted;   L 2  represents the luminance value of the second image before being adjusted;   L 2 ′ represents the luminance value of the second image after being adjusted.   
         
           
         
       
    
     S 106 , converting the first image of which the luminance value is adjusted and the second image of which the luminance value is adjusted from the Lab color space to the RGB color space. 
     S 107 , in the RGB color space, according to the mean color value of a first overlapping area and the mean color value of a second overlapping area, adjusting the color value of the second image by using the first image as a reference, or adjusting the color value of the first image by using the second image as a reference. 
     Where, the mean color value is the mean color value of each channel of R, G, and B. 
     In the first embodiment of the present invention, adjusting the color value of the second image by using the first image as a reference, by means of but not limited to the following formula: 
     
       
         
           
             { 
             
               
                 
                   
                     
                       rgGain 
                       = 
                       
                         
                           
                             R 
                             
                               m 
                                
                               e 
                                
                               a 
                                
                               n 
                                
                               1 
                             
                           
                           
                             G 
                             
                               m 
                                
                               e 
                                
                               a 
                                
                               n 
                                
                               1 
                             
                           
                         
                         / 
                         
                           
                             R 
                             
                               m 
                                
                               e 
                                
                               a 
                                
                               n 
                                
                               2 
                             
                           
                           
                             G 
                             
                               m 
                                
                               e 
                                
                               a 
                                
                               n 
                                
                               2 
                             
                           
                         
                       
                     
                   
                 
                 
                   
                     
                       bgGain 
                       = 
                       
                         
                           
                             B 
                             
                               m 
                                
                               e 
                                
                               a 
                                
                               n 
                                
                               1 
                             
                           
                           
                             G 
                             
                               m 
                                
                               e 
                                
                               a 
                                
                               n 
                                
                               1 
                             
                           
                         
                         / 
                         
                           
                             B 
                             
                               m 
                                
                               e 
                                
                               a 
                                
                               n 
                                
                               2 
                             
                           
                           
                             G 
                             
                               m 
                                
                               e 
                                
                               a 
                                
                               n 
                                
                               2 
                             
                           
                         
                       
                     
                   
                 
               
                
               
                 
 
               
                
               
                 { 
                 
                   
                     
                       
                         
                           R 
                           2 
                           ′ 
                         
                         = 
                         
                           
                             R 
                             2 
                           
                           * 
                           rgGain 
                         
                       
                     
                   
                   
                     
                       
                         
                           G 
                           2 
                           ′ 
                         
                         = 
                         
                           G 
                           2 
                         
                       
                     
                   
                   
                     
                       
                         
                           B 
                           2 
                           ′ 
                         
                         = 
                         
                           
                             B 
                             2 
                           
                           * 
                           bgGain 
                         
                       
                     
                   
                 
               
             
           
         
       
         
         
           
             Where, R mean1 , G mean1 , B mean1  are the mean color values of the first overlapping area; 
             R mean2 , G mean2 , B mean2  are the mean color values of the second overlapping area; 
             rgGain is the adjustment parameter of R channel; 
             bgGain is the adjustment parameter of B channel; 
             R 2  is the color value of R channel of the second image before being adjusted; 
             R 2′  is the color value of R channel of the second image after being adjusted; 
             G 2  is the color value of G channel of the second image before being adjusted; 
             G 2′  is the color value of G channel of the second image after being adjusted;
           B 2  is the color value of B channel of the second image before being adjusted;   B 2′  is the color value of B channel of the second image after being adjusted.   
         
           
         
       
    
     It can be understood that it is only necessary to appropriately modify the above formula to adjust the color value of the first image by using the second image as a reference, which will not be repeated here. 
     In the first embodiment of the present invention, acquiring a first fisheye is image and a second fisheye image; expanding the first fisheye image to obtain a first image in an RGB color space, and expanding the second fisheye image to obtain a second image in the RGB color space; calculating overlapping areas between the first image and the second image; converting the first image and the second image from the RGB color space to a Lab color space; in the Lab color space, according to the mean luminance value of a first overlapping area and the mean luminance value of a second overlapping area, adjusting the luminance value of the first image and the luminance value of the second image to reduce the luminance difference between the first image and the second image; converting the first image of which the luminance value is adjusted and the second image of which the luminance value is adjusted from the Lab color space to the RGB color space; in the RGB color space, according to the mean color value of a first overlapping area and the mean color value of a second overlapping area, adjusting the color value of the second image by using the first image as a reference, or adjusting the color value of the first image by using the second image as a reference. Hence, in the present invention, by first adjusting the luminance value and then the color value, thus reducing the traces in the image stitching process, thereby, the panoramic image obtained after stitching seems more natural. 
     Second Embodiment 
     The second embodiment of the present invention provides a computer-readable storage medium that stores a computer program or computer programs, which when being executed by a processor or processors, cause the processor or processors to perform steps of the color correction method for a panoramic image provided in the first or second embodiment of the present invention. 
     Third Embodiment 
     Based on the same inventive concept, the third embodiment of the present invention provides an electronic device.  FIG. 2  illustrates a structural block diagram of an electronic device provided in the third embodiment of the present invention. An electronic device  100  comprises: one or more processors  101 , a memory  102 , and one or more computer programs, where the one or more processors  101  and the memory  102  are connected by a bus, the one or more computer programs are stored in the memory  102 , and are configured to be executed by the one or more processors  101 . The one or more processors  101  execute the one or more computer programs to perform steps of the color correction method for a panoramic image provided in the first embodiment of the present invention. 
     It should be noted that the electronic device can be any electronic device such as a fisheye camera, a mobile phone, a tablet computer, a PDA (Personal Digital Assistant), an on-board computer, a smart watch, etc. 
     Such terms “first”, “second”, “third”, “fourth”, etc. (if present) in the specification, claims and accompanying drawing of the present invention, are used to distinguish similar subjects, and do not have to be used to describe a particular order. It should be understood that such numbers used in this way can be interchanged under appropriate circumstances so that the embodiments described herein can be implemented in an order other than the content illustrated or described herein. 
     A person of ordinary skill in the art may understand that all or part of the steps in the method of the above-mentioned embodiments can be implemented by a program or programs instructing relevant hardware. The program or programs can be stored in a computer-readable storage medium, and the storage media may comprise: Read Only Memory (ROM), Random Access Memory (RAM), magnetic disk or CD, etc. 
     The above descriptions are only preferred embodiments of the present invention and are not intended to limit the present invention. Any modification, equivalent replacements and improvement made within the spirit and principle of the present invention shall be included in the protection of the present invention.