美文网首页图像处理
Instagram-1917滤镜

Instagram-1917滤镜

作者: 飞羽田海 | 来源:发表于2021-02-04 17:14 被阅读0次
  • 前言
    Instagram-1977滤镜颜色偏暖,很受欢迎。本文主要参考了这篇文章
  • 颜色映射表
    文章中的颜色映射表我使用相同色值的图片来代替。使用OpenCV生成图片代码:
    # 生成图片
    # src:图片保存路径
    def mapImageGenerator(src):
      r = np.array([[81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 84, 84, 85, 86, 88, 88, 89, 91, 92, 93, 93, 95, 96, 97, 98, 99, 100, 101, 103, 103, 104, 106, 107, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 121, 121, 122, 123, 125, 126, 126, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 140, 140, 141, 143, 144, 145, 145, 147, 148, 149, 150, 151, 152, 154, 154, 155, 156, 158, 159, 159, 161, 162, 163, 164, 164, 165, 166, 167, 168, 169, 170, 171, 173, 173, 174, 176, 177, 178, 178, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 191, 192, 192, 193, 195, 196, 196, 198, 199, 200, 201, 202, 203, 204, 206, 206, 207, 208, 210, 210, 211, 213, 214, 215, 215, 217, 218, 219, 220, 221, 222, 223, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225]])
      g = np.array([[57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 73, 73, 74, 75, 76, 77, 78, 79, 80, 81, 83, 84, 85, 85, 86, 87, 88, 89, 90, 91, 93, 94, 95, 96, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 108, 109, 110, 112, 113, 114, 115, 116, 117, 118, 119, 120, 120, 122, 123, 124, 125, 126, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 143, 143, 144, 145, 146, 147, 148, 149, 150, 152, 153, 154, 155, 155, 156, 157, 158, 159, 160, 162, 163, 164, 165, 166, 167, 167, 168, 169, 170, 172, 173, 174, 175, 176, 177, 178, 179, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 202, 202, 203, 204, 205, 206, 207, 208, 209, 210, 212, 213, 214, 214, 215, 216, 217, 218, 219, 221, 222, 223, 224, 225, 226, 226, 227, 228, 229, 231, 232, 233, 234, 235, 236, 237, 237, 238, 239, 241, 242, 243, 244, 245, 246, 247, 248, 249, 249, 251, 252, 253, 254]])
      b = np.array([[64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 66, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 126, 127, 129, 130, 131, 132, 133, 134, 136, 137, 138, 139, 139, 140, 142, 143, 144, 145, 146, 147, 149, 150, 151, 152, 153, 154, 156, 157, 158, 159, 160, 161, 163, 164, 165, 166, 167, 169, 170, 171, 172, 173, 174, 176, 177, 178, 179, 180, 181, 183, 184, 185, 186, 187, 189, 190, 191, 192, 193, 194, 196, 197, 198, 199, 200, 201, 203, 204, 205, 206, 207, 208, 210, 211, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212]])
      img = cv2.merge([b, g, r])
      img = img.astype(np.uint8) # 指明数据类型
      cv2.imwrite(src, img)
    
  • shader代码
      // 纹理坐标
      vec2 uv = fragCoord/iResolution.xy;
      // iChannel1中保存的是需要处理的图片
      vec3 col = texture(iChannel1,uv).rgb;
      // iChannel0中保存的是颜色映射表色值生成的图片
      vec3 resCol = vec3(texture(iChannel0,vec2(col.r,.0)).r,
                         texture(iChannel0,vec2(col.g,.0)).g,
                         texture(iChannel0,vec2(col.b,.0)).b); 
      fragColor = vec4(resCol,1.0);
    
  • 最终效果
原图 1977

相关文章

  • Instagram-1917滤镜

    前言Instagram-1977滤镜颜色偏暖,很受欢迎。本文主要参考了这篇文章[https://www.kancl...

  • GPUImage学习

    前言 一些自带滤镜 支持滤镜摄像,滤镜相机,滤镜图片,滤镜视频 一.使用滤镜生成UIImage对象 创建一个滤镜类...

  • ——滤镜滤镜加滤镜——

    每次发图片都要加滤镜,和同桌曾经很认真的争论过,加滤镜算不算p图,她说一张图加了滤镜就像变了另一张图。她喜欢日漫喜...

  • 2019-08-27

    滤镜分类 根据滤镜的功能对滤镜进行了如下分类,方便大家查阅—— 柔化系列效果滤镜 光学系列滤镜 颜色系列滤镜 灰...

  • 照片处理-滤镜分类

    滤镜最开始指的是相机镜头上的光学滤镜,即硬件滤镜,IT技术的发展,现在的滤镜主要指软件滤镜,通过算法对硬件滤镜进行...

  • OpenGL ES之滤镜处理(2)_灰度滤镜与马赛克滤镜

    上文 OpenGL ES之滤镜处理(1)_分屏滤镜 - 简书讲述了分屏滤镜的处理,本文介绍灰度滤镜与马赛克滤镜的处...

  • iOS 图片 高斯模糊滤镜

    图片 滤镜 图片+颜色 滤镜

  • PS教程|木刻滤镜与撕边滤镜组合应用

    01原图 02将原图转换为智能对象后,滤镜-滤镜库-木刻滤镜,参数设置如下。 03点击确定后。 04滤镜-滤镜库-...

  • OpenGL ES之滤镜处理(3)_动效滤镜

    上文OpenGL ES之滤镜处理(2)_灰度滤镜与马赛克滤镜 - 简书讲述了灰度滤镜与马赛克滤镜,本文介绍关于动效...

  • 08-OpenGL ES 分屏滤镜

    分屏滤镜分析 分屏滤镜 - 分2屏 分屏滤镜 - 分4屏 案例-分屏滤镜导图 源码链接 https://githu...

网友评论

    本文标题:Instagram-1917滤镜

    本文链接:https://www.haomeiwen.com/subject/lzgvtltx.html