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;
|
|
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;