原创
RGB2GRAY原理
2011-4-15 15:53
8270
10
10
分类:
消费电子
以R、G、B为轴建立空间直角坐标系,则RGB图的每个象素的颜色可以用该三维空间的一个点来表示,
而Gray图的每个象素的颜色可以用直线R=G=B上的一个点来表示。于是rgb转gray图的本质就是寻找
一个三维空间到一维空间的映射,最容易想到的就是射影(即过rgb空间的一个点向直线R=G=B做垂线),
事实上Matlab也是这样做的,并且有Gray = 0.29900 * R + 0.58700 * G + 0.11400 * B。
灰度可以说是亮度(luminance)的量化值,而RGB的定义是客观的三个波长值,转换时需要考虑人眼对不同波长的灵敏度曲线,所以系数不相等。
你所给出的公式是RGB转换YIQ其中Y的公式,这个转换并不是RGB向R=B=G作投影。
该公式突出了绿色的部分,因为人眼对绿光相对比较敏感。YIQ系统原来是黑白电视所采用的,因此它要反映人对各种颜色真实的感受,如果不考虑人的因素就会让观众产生一种错觉,比如一个红色的物体,在现实中人会感觉它不是很明亮,但如果在黑白电视中出现该物体却没有对亮度进行调整,观众凭经验就会怀疑它是否原本是红色的。
当然这只是针对你给的颜色系统变换,不表示就没有其他的比较客观的颜色系统,比如如果你采用HSI系统,I也是一个亮度坐标,当R=G=B时,I=R=G=B,S=0,H未定义,很好地体现了对称关系。
文章评论(0条评论)
登录后参与讨论