glsl效果2——灰度图
glsl效果2——灰度图
- 原始图及代码
- 1.1. 原始图
- 1.2. 原始代码
- 灰度图效果图及glsl代码
- 2.1. 效果图
- 2.2. glsl代码
- 加权的灰度图的效果图和glsl代码
- 3.1. 效果图
- 3.2. glsl代码
- 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——灰度图相关推荐
- html 图像处理 灰度图和浮雕图类PS
html5 的canvas还有一些很酷炫的效果,接下来讲的是canvas对像素的处理,虽然略有些复杂,但实现出的效果,还是很赞的~~. 为了不让大家失望,先强调一句:下列效果需调用getImageDa ...
- OpenGL 灰度图
目录 一.OpenGL 灰度图 1.IOS Object-C 版本 1.Windows OpenGL ES 版本 2.Windows OpenGL 版本 二.OpenGL 灰度图 GLSL Shade ...
- python opencv 灰度图非局部平均去噪
python opencv 灰度图非局部平均去噪 代码: import cv2 import numpy as np # 灰度图像去噪 def MeansDenoising(img,h,templat ...
- python opencv imread()函数,关于:灰度图(二维数组图),彩色图(三维数组图)
使用函数cv2.imread(filepath,flags)读入一副图片 filepath:要读入图片的完整路径 flags:读入图片的标志 cv2.IMREAD_COLOR:默认参数,读入一副彩色图 ...
- 如何二值图转化为灰度图_木工真空吸附雕刻机如何用精雕5.21把精雕图模型转为灰度图...
随着数控雕刻机的普及,用户们对雕刻图纸的需求量越来越大.目前中国主流的雕刻图纸制作软件是北京精雕,也就是常说的精雕图.因不同的需要,很多人习惯使用灰度图来进行雕刻.本文无锡酬信雕刻机厂家小编以精雕5. ...
- Android提高十六篇之使用NDK把彩图转换灰度图
在Android上使用JAVA实现彩图转换为灰度图,跟J2ME上的实现类似,不过遇到频繁地转换或者是大图转换时,就必须使用NDK来提高速度了.本文主要通过JAVA和NDK这两种方式来分别实现彩图转换为 ...
- Python中使用PIL快速实现灰度图
效果 原图 效果图 实现 新建文件夹grayImage,在此文件夹下新建gray.py from PIL import Image img=Image.open('1111.jpg') img=img ...
- 【笔记】opencv图像轮廓 获得平均灰度值在原图上画轮廓 观察灰度图的分解
调整大小: image = cv2.resize(image,dst=None,fx=0.5,fy = 0.5,dsize=None) img = cv2.resize(img,dst=None,fx ...
- 图像灰度图,直方图,像素通道问题
1.图像直方图概述 直方图广泛运用于很多计算机视觉运用当中,通过标记帧与帧之间显著的边缘和颜色的统计变化,来检测视频中场景的变化.在每个兴趣点设置一个有相近特征的直方图所构成 "标签&q ...
最新文章
- 解决Xamarin Android SDK Manager闪退问题
- 和php工具箱一样的,将php工具箱或其它类似工具正确安装好,并写出安装步骤与注意事项...
- python手写均值滤波器_python手写均值滤波
- RabbitMQ Network Partitions 服务日志对比
- 浙大远程教育计算机作业3,2016浙大远程教育计算机应用基础作业-3剖析
- python连接数据库并编写调用函数_Python使用pyodbc访问数据库操作方法详解
- 蓝桥杯上Excel地址c语言,C语言求解Excel地址转换问题
- hihoCoder挑战赛14 -1223
- 编译android4.4 报错error: call to '__property_get_too_small_error' declared with attribute 的处理 (转载)...
- VC2012学习笔记(控件)
- 儿童机器人编程语言_机器人十大流行编程语言的介绍
- zz android touch panel
- event mpm php,Apache下三种MPM模式:prefork,worker和event
- 一个计步器源代码的研究
- 如何提高一个网站的排名?
- WiFi的2.4G、5G、6G频段
- 【最小费用最大流】知识点讲解
- Linux平台设备驱动
- golang中结构体转成xml格式
- 重装系统 linux启动windows系统文件,重装Windows系统后,Linux系统启动引导失败
热门文章
- 计算机学院毕业设计文化衫,【计算机学院】PS决赛“设计服装” 选手勾勒毕业印象...
- sayhi setup Alpha版
- 【架构】关于RabbitMQ
- 首尔市政府任命区块链治理小组成员
- Dreammail 常见问题
- 电子工程师的发展方向
- Vibosoft PDF Image Extractor v2.1.5中文版
- Excel如何批量在批注后面添加指定文本
- 基于stm32交通控制系统设计总结
- Linux使用解压命令unzip报错:unzip: cannot find zipfile directory in one of xxx.zip