ImageTools
RGBtoYUV
convert an RGB color image to a YUV color image
Calling Sequence
Parameters
Options
Description
Examples
RGBtoYUV( img, opts )
img
-
ColorImage or ColorAImage; input image
opts
(optional) equation(s) of the form option = value; specify options for the RGBtoYUV command
inplace = truefalse
Specifies whether the operation is performed in-place. This can be used to avoid allocating memory. The default is false.
output = Image
Specifies a data structure into which the output is written. This can be used to avoid allocating memory. The size and number of layers must match that of the input. The dimensions of the output image are adjusted so that the row and column indices match the input. The default is NULL.
The RGBtoYUV command converts a color image with an RGB color representation to a YUV color representation. The following linear transformation is applied at each position in the image to the three color layers:
Matrix⁡y,u,v=Matrix⁡0.299,0.587,0.114,−0.147,−0.289,0.436,0.615,−0.515,−0.100⁢Matrix⁡r,g,b
The alpha channel (layer 4), if present, is not affected.
The img parameter is the input image and must be of type ColorImage or ColorAImage.
with⁡ImageTools:
Create three monochromatic images representing the RGB layers and then combine them into a single color image.
img_r≔Create⁡100,200,r,c↦0.25⋅1+sin⁡0.005+0.003⋅c⋅c⋅1+sin⁡0.15⋅r:
img_g≔Create⁡100,200,r,c↦0.5⋅1+exp⁡−0.02000000000⋅r⋅sin⁡0.05000000000⋅c:
img_b≔Create⁡100,200,r,c↦r100.:
img_rgb≔CombineLayers⁡img_r,img_g,img_b:
Convert the color image to a YUV representation and then extract each layer as a separate monochromatic image.
img_yuv≔RGBtoYUV⁡img_rgb:
img_y≔FitIntensity⁡GetLayer⁡img_yuv,1:
img_u≔FitIntensity⁡GetLayer⁡img_yuv,2:
img_v≔FitIntensity⁡GetLayer⁡img_yuv,3:
Display the original RGB layers, the color image, and the YUV layers.
Embed⁡img_r,img_g,img_b
Embed⁡img_rgb
Embed⁡img_y,img_u,img_v
See Also
ImageTools[ColorTransform]
ImageTools[YUVtoRGB]
Download Help Document