处理过滤器和颜色

时间:2014-04-01 11:50:51

标签: image opencv image-processing computer-vision

我想制作如here

所示的过滤器
  • 这些是我的目标过滤器,但是你可以指导我如何去找他们
  • 我怎么能制作这样的过滤器?
  • 我需要遵循哪些算法?我需要作为初学者采取哪一步?
  • 获取RGB和滤镜色调的更好,最简单的方法。

通过spektre从上面的链接复制图像: filters example

  • 源图像是第一行中的第一个相机。

1 个答案:

答案 0 :(得分:2)

从单一的非测试屏幕图像很难说。

  1. 黑白滤镜

    很容易将 RGB 转换为强度i,然后将 RGB 转换为iii颜色。最简单的不精确转换是

    i=(R+G+B)/3
    

    但更好的方法是使用权重

    i=w0*R+w1*G+w2*B
    

    其中w0+w1+w2=1可以通过谷歌搜索努力找到值{/ p>

  2. 其余

    某些过滤器似乎超过了指数颜色或加权颜色,如下所示:

    r=w0*r; if (r>255) r=255;
    g=w1*g; if (g>255) g=255;
    b=w2*b; if (b>255) b=255;
    

    在范围w0,w1,w2中为<0-10>编写一个包含3个滚动条的应用,并使用上面的公式重新绘制图像。经过一些小实验,您应该找到大多数过滤器的w0,w1,w2 ...其余的可以是这样的颜色混合:

    r=w00*r+w01*g+w02*b; if (r>255) r=255;
    g=w10*r+w11*g+w12*b; if (g>255) g=255;
    b=w20*r+w21*g+w22*b; if (b>255) b=255;
    

    或:

    i=(r+g+b)/3
    r=w0*r+w3*i; if (r>255) r=255;
    g=w1*g+w3*i; if (g>255) g=255;
    b=w2*b+w3*i; if (b>255) b=255;
    
  3. 顺便说一句,如果你想要最接近的相似性,你可以:

    1. 在输入图片中找到测试颜色

      喜欢 R 阴影, G 阴影, B 阴影, RG,RB,BG,RGB 阴影0-255。然后从相同位置的滤波图像中获取颜色,并绘制每个阴影绘制 R,G,B 强度的依赖图。

      一个轴是输入图像颜色强度,另一个是 R,G,B 过滤颜色的强度。然后你应该看到直接使用哪个公式,也可以从中计算权重。这就是过度演化对红色

      的作用

      red overexponate filter

    2. 如果行不是行而是曲线

      然后使用某种伽马校正,因此公式使用更高阶的多项式(2,3,4的幂......),大多数2的幂就足够了。在这种情况下,权重也可能是负的!!!

    3. 某些过滤器可能会使用不同的颜色空间

      例如将 RGB 转换为 HSV 移位色调并转换回 RGB 。这会稍微改变颜色。