How do I determine if a color is closer to white or black?

前端 未结 4 1599
别那么骄傲
别那么骄傲 2021-02-01 07:26

I am dealing with images and would like to determine if a set of pixels are closer to white or black.

So given a set of colors/pixles, how does one det

4条回答
  •  不思量自难忘°
    2021-02-01 07:38

    I would say that you can first convert the color to gray scale and then check if it's nearer to black or white.

    First convert the RGB color value to compute luminance by the following formula

    Y = 0.2126*R + 0.7152*G + 0.0722*B
    

    Then check if the value is nearer to 0 or to 255 and choose black or white accordingly

    color c = Y < 128 ? black : white
    

    Mind that this works well if the color space is not gamma compressed, otherwise you will have to add a step before calculating the luminance which is a gamma expansion, compute Y, then perform a gamma compression to obtain a non-linear luminance value that you can then use to decide if color is nearer to black or white.

提交回复
热议问题