The ML.CONVERT_COLOR_SPACE function
This document describes the ML.CONVERT_COLOR_SPACE
scalar function, which lets
you convert images that have an RGB
color space to a different color space.
You can use ML.CONVERT_COLOR_SPACE
with the ML.PREDICT
function or
chain it with other functions or subqueries.
Syntax
ML.CONVERT_COLOR_SPACE(image, target_color_space)
Arguments
ML.CONVERT_COLOR_SPACE
takes the following arguments:
image
: aSTRUCT
value that represents anRGB
image in one of the following forms:STRUCT<ARRAY<INT64>, ARRAY<FLOAT64>>
STRUCT<ARRAY<INT64>, ARRAY<INT64>>
The first array in the struct must contain the dimensions of the image. It must contain three
INT64
values, which represent the image height (H), width (W), and number of channels (C).The second array in the struct must contain the image data. The length of the array must be equivalent to H x W x C from the preceding array. If the image data is in
FLOAT64
, each value in the array must be between[0, 1)
. If the image data is inINT64
, each value in the array must be between[0, 255)
.The struct value must be <= 60 MB.
target_color_space
: aSTRING
value that specifies the target color space. Valid values areHSV
,GRAYSCALE
,YIQ
, andYUV
.
Output
ML.CONVERT_COLOR_SPACE
returns a STRUCT
value that represents the
modified image in the form STRUCT<ARRAY<INT64>, ARRAY<FLOAT64>>
.
The first array in the struct represents the dimensions of the image, and
the second array in the struct contains the image data, similar
to the image
input argument. Each value in the second array is between
[0, 1)
.
Example
The following example uses the ML.CONVERT_COLOR_SPACE
function within the
ML.PREDICT
function to change the color space for input images from RGB
to
GRAYSCALE
:
CREATE OR REPLACE TABLE mydataset.model_output AS ( SELECT * FROM ML.PREDICT( MODEL `mydataset.mymodel`, SELECT ML.CONVERT_COLOR_SPACE(ML.DECODE_IMAGE(data), 'GRAYSCALE') AS image, uri FROM `mydataset.images`) );
What's next
- For information about feature preprocessing, see Feature preprocessing overview.
- For information about the supported SQL statements and functions for each model type, see End-to-end user journey for each model.