ST_Grayscale
Name
ST_Grayscale — Creates a new one-8BUI band raster from the source raster and specified bands representing Red, Green and Blue
Synopsis
    
     (1) raster
     
      ST_Grayscale
     
     (
    
    raster
    
     rast
    
    , integer
    
     redband=1
    
    , integer
    
     greenband=2
    
    , integer
    
     blueband=3
    
    , text
    
     extenttype=INTERSECTION
    
    
     )
    
    ;
   
    
     (2) raster
     
      ST_Grayscale
     
     (
    
    rastbandarg[]
    
     rastbandargset
    
    , text
    
     extenttype=INTERSECTION
    
    
     )
    
    ;
   
Description
Create a raster with one 8BUI band given three input bands (from one or more rasters). Any input band whose pixel type is not 8BUI will be reclassified using ST_Reclass .
       
      | 
     |
| 
       
       This function is not like
       
        ST_ColorMap
       
       with the
         | 
    
Availability: 2.5.0
Examples: Variant 1
SET postgis.gdal_enabled_drivers = 'ENABLE_ALL'; SET postgis.enable_outdb_rasters = True; WITH apple AS ( SELECT ST_AddBand( ST_MakeEmptyRaster(350, 246, 0, 0, 1, -1, 0, 0, 0), '/tmp/apple.png'::text, NULL::int[] ) AS rast ) SELECT ST_AsPNG(rast) AS original_png, ST_AsPNG(ST_Grayscale(rast)) AS grayscale_png FROM apple;
| 
        
  
         original_png 
  | 
      
        
  
         grayscale_png 
  | 
     
Examples: Variant 2
SET postgis.gdal_enabled_drivers = 'ENABLE_ALL'; SET postgis.enable_outdb_rasters = True; WITH apple AS ( SELECT ST_AddBand( ST_MakeEmptyRaster(350, 246, 0, 0, 1, -1, 0, 0, 0), '/tmp/apple.png'::text, NULL::int[] ) AS rast ) SELECT ST_AsPNG(rast) AS original_png, ST_AsPNG(ST_Grayscale( ARRAY[ ROW(rast, 1)::rastbandarg, -- red ROW(rast, 2)::rastbandarg, -- green ROW(rast, 3)::rastbandarg, -- blue ]::rastbandarg[] )) AS grayscale_png FROM apple;