Algorithm photoshop中阴影/高光滤镜的算法

Algorithm photoshop中阴影/高光滤镜的算法,algorithm,photoshop,highlight,shadow,Algorithm,Photoshop,Highlight,Shadow,我对photoshop中的阴影/高光过滤器非常感兴趣。有人对阴影/高光过滤器背后的算法有什么想法吗 创建一个新的图层混合模式“柔和灯光”,背景为50%灰色 按4%选择“画笔” 按“D” 黑影。白色-高光。要快速更改第二种颜色,请按“X” 我希望这就是你想要的我制作了一个10步的黑白渐变,为你检查了阴影和高光设置中阴影的各种值,并为电影设置了动画,这样你就可以看到直方图是如何移动的 您可以看到,随着数量的增加,第二个直方图条越向右移动。随着音调的增加,越来越多不同的阴影音调受到影响 它不准确,但

我对photoshop中的阴影/高光过滤器非常感兴趣。有人对阴影/高光过滤器背后的算法有什么想法吗

  • 创建一个新的图层混合模式“柔和灯光”,背景为50%灰色
  • 按4%选择“画笔”
  • 按“D” 黑影。白色-高光。要快速更改第二种颜色,请按“X”

  • 我希望这就是你想要的

    我制作了一个10步的黑白渐变,为你检查了阴影和高光设置中阴影的各种值,并为电影设置了动画,这样你就可以看到直方图是如何移动的


    您可以看到,随着
    数量的增加,第二个直方图条越向右移动。随着
    音调
    的增加,越来越多不同的阴影音调受到影响

    它不准确,但模仿得很好

    lumR = 0.299;
    lumG = 0.587;
    lumB = 0.114;
    
    // we have to find luminance of the pixel
    // here 0.0 <= source.r/source.g/source.b <= 1.0 
    // and 0.0 <= luminance <= 1.0
    
    luminance = sqrt( lumR*pow(source.r,2.0) + lumG*pow(source.g,2.0) + lumB*pow(source.b,2.0));
    
    
    
    // here highlights and and shadows are our desired filter amounts
    // highlights/shadows should be >= -1.0 and <= +1.0
    // highlights = shadows = 0.0 by default
    // you can change 0.05 and 8.0 according to your needs but okay for me
    
    h = highlights * 0.05 * ( pow(8.0, luminance) - 1.0 );
    s = shadows * 0.05 * ( pow(8.0, 1.0 - luminance) - 1.0 );
    
    output.r = source.r + h + s;
    output.g = source.g + h + s;
    output.b = source.b + h + s;
    
    lumR=0.299;
    lumG=0.587;
    lub=0.114;
    //我们必须找到像素的亮度
    
    //这里0.0我猜它使用
    半径
    来确定它所应用的区域的位置或大小。在阴影的情况下,它会将亮度提高
    数量
    。然后,
    色调范围
    指定了像素在不再被视为亮度候选对象之前的距离(以亮度计)。突出显示的
    则相反。非常感谢。我找到了阴影/高光过滤器的替代解决方案。你能分享你的解决方案吗?想知道你也找到了什么解决方案。谢谢谢谢你宝贵的指导。我找到了阴影/高光过滤器的替代解决方案。