消息关闭
    暂无新消息!
   如下一段代码,在PC上运行完全正确,但移值到ARM上,
结果却不一致,出现了错误。不知道错误在哪里?

  

      float r,g,b;
        float x,y,z;
        float xx,yy;
     // 对r, g, b进行赋值
        r=220,
       g=20;
       b=15;

        r/=255.0f;g/=255.0f;b/=255.0f;

if(r<=0.04045) r=r/12.92f;
else r=float(pow(((r+0.055)/1.055),2.4));

if(g<=0.04045)  g=g/12.92f;
else g=float(pow(((g+0.055)/1.055),2.4));

if(b<=0.04045)  b=b/12.92f;
else b=float(pow(((b+0.055)/1.055),2.4));

x =  41.24f * r + 35.76f * g + 18.05f * b;
y =  21.26f * r + 71.52f * g + 7.2f * b;
z =  1.93f  * r + 11.92f * g + 95.05f * b;

1个回答