Algorithm 有日晒算法吗?

Algorithm 有日晒算法吗?,algorithm,image-manipulation,Algorithm,Image Manipulation,我正在搜索一种算法来产生图片效果。有人有链接或算法吗?我也对其他过滤器感兴趣,比如乌贼墨或卡通。对于sepia,我找到了一些代码。在web上,我没有找到太多关于这些过滤器实现的信息 问候语日光浴意味着响应曲线不是单调的(不是简单地增加亮度,“输出”开始变亮,变暗,然后随着“输入”变亮再次增加)。实现它的最简单方法(对于easy的某些值)是作为转换像素值的更一般过程的特例 以下是主例程的一些python伪代码: def transform(image, f): for pixel in i

我正在搜索一种算法来产生图片效果。有人有链接或算法吗?我也对其他过滤器感兴趣,比如乌贼墨或卡通。对于sepia,我找到了一些代码。在web上,我没有找到太多关于这些过滤器实现的信息


问候语

日光浴意味着响应曲线不是单调的(不是简单地增加亮度,“输出”开始变亮,变暗,然后随着“输入”变亮再次增加)。实现它的最简单方法(对于easy的某些值)是作为转换像素值的更一般过程的特例

以下是主例程的一些python伪代码:

def transform(image, f):
    for pixel in image:
        pixel = f(pixel)
如果我们选择像素为0到1之间的值(将所有值归一化,如果颜色对R、G和B的处理相同),则可以使用

对于日光浴,您需要一个先减小然后再增大的函数。比如说1-4x+4x^2:

transform(image, f(x): 1-4x+4x^2)
如果这一切都有点不透明,以下是一些数字,让事情更清楚:

  • 如果输入图像为0(黑色),则输出为1-4*0+4*0^2=1(白色)
  • 如果输入图像为0.5(灰色),则输出为1-4*0.5+4*0.5^2=1-2+1=0(黑色)
  • 如果输入图像为1(白色),则输出为1-4*1+4*1^2=1(白色)
然后,您可以通过向用户可以更改的曲线(例如a+bx+cx^2)添加一些参数来进一步改进


(实际上,它可以更一般——它可以有多个峰值,或者在亮点处变黑——例如,有一幅安塞尔·亚当斯的图像,上面有一个黑色的太阳。想法是一样的,只要使用一个高阶多项式,或者改变上面参数的符号——a-ve c会使明亮区域变暗。你可以使用样条曲线而不是多项式。basi凯莉,这是一个从输入到输出的“上下”映射,其中有很大的灵活性……。

日晒理论:这些人似乎有一个WPF:这不是一个真正的算法:你只是对每个像素应用一个函数。
transform(image, f(x): 1-4x+4x^2)