zoukankan      html  css  js  c++  java
  • RGB不同彩色空间的转换公式

    2004年09月01日 16:09:00

    RGB不同彩色空间的转换公式

    • 彩图与灰度图的相互转换 RGB <-> GRAY:
      RGB[A]->Gray: Y=0.212671*R + 0.715160*G + 0.072169*BGray->RGB[A]: R=Y G=Y B=Y A=0
      

      其它的所有可能的图像色彩空间的相互变换公式列举如下:

    • RGB<=>XYZ :
      |X|   |0.412411  0.357585  0.180454| |R||Y| = |0.212649  0.715169  0.072182|*|G||Z|   |0.019332  0.119195  0.950390| |B||R|   | 3.240479  -1.53715  -0.498535| |X||G| = |-0.969256   1.875991  0.041556|*|Y||B|   | 0.055648  -0.204043  1.057311| |Z|
      
    • RGB<=>YCrCb 
      Y=0.299*R + 0.587*G + 0.114*BCr=(R-Y)*0.713 + 128Cb=(B-Y)*0.564 + 128R=Y + 1.403*(Cr - 128)G=Y - 0.344*(Cr - 128) - 0.714*(Cb - 128)B=Y + 1.773*(Cb - 128)
      
    • RGB=>HSV 
      V=max(R,G,B)S=(V-min(R,G,B))*255/V   if V!=0, 0 otherwise       (G - B)*60/S,  if V=RH= 180+(B - R)*60/S,  if V=G   240+(R - G)*60/S,  if V=B若 H<0,则 H=H+360
      

      使用上面从 0° 到 360° 变化的公式计算色调( hue)值,确保它们被 2 除后能试用于8位。

    • RGB=>Lab
      |X|   |0.433910  0.376220  0.189860| |R/255||Y| = |0.212649  0.715169  0.072182|*|G/255||Z|   |0.017756  0.109478  0.872915| |B/255|L = 116*Y1/3      for Y>0.008856L = 903.3*Y      for Y<=0.008856a = 500*(f(X)-f(Y))b = 200*(f(Y)-f(Z))其中  f(t)=t1/3              for t>0.008856      f(t)=7.787*t+16/116    for t<=0.008856
      


      (转自阿须论坛:http://www.assuredigit.com/forum 


    • Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=91325


  • 相关阅读:
    信息的表示和处理
    Linux基础与Linux下C语言编程基础
    Linux基础入门
    第4次实验
    第三次实验
    第二次实验
    java第一次实验
    数据库提示日志文件不可用
    SQL Server 2012 列存储索引分析(翻译)
    修改delphi xe6 FMX Label字体颜色
  • 原文地址:https://www.cnblogs.com/feisky/p/1586569.html
Copyright © 2011-2022 走看看