假设用户设定需要色彩旋转的角度为α,记D=Cb-128,E=Cr-128。D’和E’为转过α后的数值。
D’=D*cos(x) + E*sin(y)
E’=E*cos(y) +D*sin(x)
当α=0,x=0,y=2π;
当α=2π/3,x=3π/4,y=3π/2;
当α=4π/3,x=3π/2,y=3π/4;
当α=2π,x=2π,y=0;
这里我只实验得出了α为4个关键角度时的x和y取值,当α为其他角度时,x和y可用两点之间线性插值得到。变换过程中Y保持不变,Cb’=D’+128, Cr’=E’+128。这里的4个三角函数可以事先由软件计算好,数字IC只要实现乘加运算。从整体效果来看,色彩确实按照期望的方向在旋转,但是并不完美。
欢迎光临 SuperIC社区_ (/) | Powered by Discuz! X3.3 |