图像处理:柔光算法,如Photoshop



我是一个基于Adobe文档为Android从头开始开发柔光算法的人:http://www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/pdf_reference_archives/blend_modes.pdfhttp://opensource.adobe.com/svn/opensource/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/shaderClasses/SoftLight.pbk

有人能为我解释一下算法或至少dst, src, cb, cssampleNearest()函数以及如何计算它们吗?谢谢!

input image4 dst;
input image4 src;
output pixel4 result;
void
evaluatePixel()
{
    pixel4 a = sampleNearest(dst,outCoord()); // cb
    pixel4 b = sampleNearest(src,outCoord()); // cs
    ....
}

混合公式见此答案:

     ChannelBlend_SoftLight(A,B)  ((uint8)((B < 128)?(2*((A>>1)+64))*((float)B/255):(255-(2*(255-((A>>1)+64))*(float)(255-B)/255))))

上面的代码计算一个像素的混合。

a, b是2个不同的像素,aampleNearest函数从输入图像中获取2个像素。

CCD_ 5是2个输入图像。

最新更新