# Why do we use Difference RGB to grayscale function?

I found this function for RGB to Gray scale converter at this kind:

RGB to grayscale

This example converts an image with RGB channels into an image with a single grayscale channel.

The value of each grayscale pixel is calculated as the weighted sum of the corresponding red, green and blue pixels as:

Y = 0.2125 R + 0.7154 G + 0.0721 B

Copy to clipboard

These weights are used by CRT phosphors as they better represent human perception of red, green and blue than equal weights. 1

Also at Matlab site said about :

Algorithms

rgb2gray converts RGB values to grayscale values by forming a weighted sum of the R, G, and B components:

0.2989 * R + 0.5870 * G + 0.1140 * B

These are the same weights used by the rgb2ntsc function to compute the Y component.

The coefficients used to calculate grayscale values in rgb2gray are identical to those used to calculate luminance (E'y) in Rec.ITU-R BT.601-7 after rounding to 3 decimal places.

Rec.ITU-R BT.601-7 calculates E'y using the following formula:

0.299 * R + 0.587 * G + 0.114 * B

So, i like to know why difference value and how many standard exist in this function type?

Thanks.

#  0.2989 *R + 0.5870 *G + 0.1140 *B    # [1] NTSC