glsl效果2——灰度图

    1. 原始图及代码
    • 1.1. 原始图
    • 1.2. 原始代码
    1. 灰度图效果图及glsl代码
    • 2.1. 效果图
    • 2.2. glsl代码
    1. 加权的灰度图的效果图和glsl代码
    • 3.1. 效果图
    • 3.2. glsl代码
    1. git地址

以下的效果建立在使用帧缓冲,渲染到纹理后进行的相关操作,具体代码可以看git项目里的源代码。灰度图就是吧原来的颜色都变成了灰色

1. 原始图及代码

1.1. 原始图

1.2. 原始代码

void main()
{FragColor = texture(screenTexture, TexCoords);
}

2. 灰度图效果图及glsl代码

2.1. 效果图

2.2. glsl代码

//灰度图
void main()
{vec3 col = vec3(texture(screenTexture, TexCoords));float average = (col.x+col.y+col.z)/3.0f;FragColor = vec4(average,average,average,1.0);
}

可以看到,这里的处理很简单就是吧,图像的rgb三个值均值了一下,这已经能创造很好的结果了,但人眼会对绿色更加敏感一些,而对蓝色不那么敏感,所以为了获取物理上更精确的效果,我们需要使用加权的(Weighted)通道。

3. 加权的灰度图的效果图和glsl代码

3.1. 效果图

3.2. glsl代码

//加权灰度图
void main()
{vec3 col = vec3(texture(screenTexture, TexCoords));float average = 0.2126 * FragColor.r + 0.7152 * FragColor.g + 0.0722 * FragColor.b;if(col.x!=1.0f&&col.y!=1.0f&&col.z!=1.0f){FragColor = vec4(average,average,average,1.0);}else{FragColor = texture(screenTexture, TexCoords);}}

具体rgb相对应的数值为什么是这样,我也不知道。

4. git地址

项目地址

glsl效果2——灰度图相关推荐

  1. html 图像处理 灰度图和浮雕图类PS

    html5 的canvas还有一些很酷炫的效果,接下来讲的是canvas对像素的处理,虽然略有些复杂,但实现出的效果,还是很赞的~~. 为了不让大家失望,先强调一句:下列效果需调用getImageDa ...

  2. OpenGL 灰度图

    目录 一.OpenGL 灰度图 1.IOS Object-C 版本 1.Windows OpenGL ES 版本 2.Windows OpenGL 版本 二.OpenGL 灰度图 GLSL Shade ...

  3. python opencv 灰度图非局部平均去噪

    python opencv 灰度图非局部平均去噪 代码: import cv2 import numpy as np # 灰度图像去噪 def MeansDenoising(img,h,templat ...

  4. python opencv imread()函数,关于:灰度图(二维数组图),彩色图(三维数组图)

    使用函数cv2.imread(filepath,flags)读入一副图片 filepath:要读入图片的完整路径 flags:读入图片的标志 cv2.IMREAD_COLOR:默认参数,读入一副彩色图 ...

  5. 如何二值图转化为灰度图_木工真空吸附雕刻机如何用精雕5.21把精雕图模型转为灰度图...

    随着数控雕刻机的普及,用户们对雕刻图纸的需求量越来越大.目前中国主流的雕刻图纸制作软件是北京精雕,也就是常说的精雕图.因不同的需要,很多人习惯使用灰度图来进行雕刻.本文无锡酬信雕刻机厂家小编以精雕5. ...

  6. Android提高十六篇之使用NDK把彩图转换灰度图

    在Android上使用JAVA实现彩图转换为灰度图,跟J2ME上的实现类似,不过遇到频繁地转换或者是大图转换时,就必须使用NDK来提高速度了.本文主要通过JAVA和NDK这两种方式来分别实现彩图转换为 ...

  7. Python中使用PIL快速实现灰度图

    效果 原图 效果图 实现 新建文件夹grayImage,在此文件夹下新建gray.py from PIL import Image img=Image.open('1111.jpg') img=img ...

  8. 【笔记】opencv图像轮廓 获得平均灰度值在原图上画轮廓 观察灰度图的分解

    调整大小: image = cv2.resize(image,dst=None,fx=0.5,fy = 0.5,dsize=None) img = cv2.resize(img,dst=None,fx ...

  9. 图像灰度图,直方图,像素通道问题

    1.图像直方图概述   直方图广泛运用于很多计算机视觉运用当中,通过标记帧与帧之间显著的边缘和颜色的统计变化,来检测视频中场景的变化.在每个兴趣点设置一个有相近特征的直方图所构成 "标签&q ...

最新文章

  1. 解决Xamarin Android SDK Manager闪退问题
  2. 和php工具箱一样的,将php工具箱或其它类似工具正确安装好,并写出安装步骤与注意事项...
  3. python手写均值滤波器_python手写均值滤波
  4. RabbitMQ Network Partitions 服务日志对比
  5. 浙大远程教育计算机作业3,2016浙大远程教育计算机应用基础作业-3剖析
  6. python连接数据库并编写调用函数_Python使用pyodbc访问数据库操作方法详解
  7. 蓝桥杯上Excel地址c语言,C语言求解Excel地址转换问题
  8. hihoCoder挑战赛14 -1223
  9. 编译android4.4 报错error: call to '__property_get_too_small_error' declared with attribute 的处理 (转载)...
  10. VC2012学习笔记(控件)
  11. 儿童机器人编程语言_机器人十大流行编程语言的介绍
  12. zz android touch panel
  13. event mpm php,Apache下三种MPM模式:prefork,worker和event
  14. 一个计步器源代码的研究
  15. 如何提高一个网站的排名?
  16. WiFi的2.4G、5G、6G频段
  17. 【最小费用最大流】知识点讲解
  18. Linux平台设备驱动
  19. golang中结构体转成xml格式
  20. 重装系统 linux启动windows系统文件,重装Windows系统后,Linux系统启动引导失败

热门文章

  1. 计算机学院毕业设计文化衫,【计算机学院】PS决赛“设计服装” 选手勾勒毕业印象...
  2. sayhi setup Alpha版
  3. 【架构】关于RabbitMQ
  4. 首尔市政府任命区块链治理小组成员
  5. Dreammail 常见问题
  6. 电子工程师的发展方向
  7. Vibosoft PDF Image Extractor v2.1.5中文版
  8. Excel如何批量在批注后面添加指定文本
  9. 基于stm32交通控制系统设计总结
  10. Linux使用解压命令unzip报错:unzip: cannot find zipfile directory in one of xxx.zip