解决的主要问题是灰度图究竟在计算机中是怎么表示的。在讨论该问题之前,要知道这样一个事情。即显示器究竟是怎么没成像的,是有rgb三个通道,在三个通道中我们根据每个rgb的值,操纵硬件,点亮屏幕。因此,无论是什么图,如果要到显示出来这一步,一定要有一组rgb的值。
所以要明确的一点是最终灰度还是要表示成rgb的形式进行存储。如0%的灰度RGB数值是255,255,255;1%灰度的RGB数值是253,253,253;2%灰度RGB值为250,250,250。而将一副彩色图转换成为一副灰度图。实质就是通过从 RGB 到 YUV 空间的 Y 转换公式为:
Y = 0.299R+0.587G+0.114B
得到Y的值,也就是亮度的信息,然后将Y值转换成RGB的值在进行显示。不过每一级的灰度对应的相应的rgb值都需要再计算。
所以实质就是,我们把一组rgb的数据输入进去,经过处理计算之后,得到一组新的rgb的值。这组新的rgb的值,就是所需要的灰度的值。