shader油画效果

代码参考网络上的Unity Shader脚本,将其转换为glsl语法进行GL渲染。glsl代码如下,可以使用shadertoy直接运行:

#iChannel1"file://./dusk.jpg"#define Res iResolution.xyvoid mainImage(out vec4 fragColor,in vec2 fragCoord)
{// size 和 _Radius是两个超参数,可以提供我们修改。建议_Radius为2到10之间vec2 size = 2.0/Res;float _Radius = 2.0;vec2 uv = fragCoord/Res;float n = (_Radius + 1.0)*(_Radius + 1.0);vec3 m0 = vec3(0.0);vec3 m1 = vec3(0.0);vec3 s0 = vec3(0.0);vec3 s1 = vec3(0.0);vec3 color = vec3(0.0);for (float j = -_Radius;j <= 0.0;++j) {for (float k = -_Radius;k <= 0.0; ++k) {color = texture2D(iChannel1, uv+vec2(k,j)*size).rgb;m0 += color;s0 += color * color;}}for (float j = 0.0;j <= _Radius; ++j) {for (float k = 0.0;k <= _Radius; ++k) {color = texture2D(iChannel1, uv + vec2(k, j)*size).rgb;m1 += color;s1 += color * color;}}vec4 finalColor = vec4(0.0);float min_sigma2 = 100.0;m0 /= n;s0 = abs(s0 / n - m0 * m0);float sigma2 = s0.r + s0.g + s0.b;if (sigma2 < min_sigma2) {min_sigma2 = sigma2;finalColor = vec4(m0, 1.0);}m1 /= n;s1 = abs(s1 / n - m1 * m1);sigma2 = s1.r + s1.g + s1.b;if (sigma2 < min_sigma2) {min_sigma2 = sigma2;finalColor = vec4(m1, 1.0);}fragColor = finalColor;
}

原图如下:

效果图如下:

OpenGL油画效果相关推荐

  1. Java中实现六种图像处理的效果(灰度化、马赛克效果、去背景实现、珠纹化实现、黑白版画效果、油画效果)

    ** Java中实现六种图像处理的效果(灰度化.马赛克效果.去背景实现.珠纹化实现.黑白版画效果.油画效果) ** 本文的编程的思想: 先将实现这六种效果的方法写入一个名为pic_performanc ...

  2. OpenCV油画效果

    OpenCV油画效果 油画效果 介绍 代码 结果 油画效果 介绍 图像在颜色空间默认颜色空间COLOR_BGR2GRAY中转换.对于图像中的每个像素,程序都会计算尺寸为2 * size + 1的相邻像 ...

  3. Photoshop 油画效果

    4.11  油画效果 案例效果 油画的最大特点就是笔触鲜明,整体感觉厚重,有质感.在本节中,将学习如何将普通照片处理成油画效果.如图4-301所示,为制作前后效果对比. 图4-301  制作前后效果对 ...

  4. Java 简单图片 马赛克,黑白画,珠纹化,油画效果等处理技术 原理及实现 (简单UI)

    Java 图片马赛克,黑白画,珠纹化,油画效果等处理技术 原理及实现 1. 需要用到的包 java.awt // 用于创建用户界面和绘制图形图像的所有类 javax.swing // 提供一组&quo ...

  5. 图像处理之仿油画效果

    基于像素权重实现图像的像素模糊从而达到近似油画效果模糊 其实卷积的变种,不是基于Stroke维诺图算法与采样moment算法 模拟实现.不想跟多的废话了,先看效果: 说实话,货是干货,但是不想再多写罗 ...

  6. Python OpenCV绘画实现 油画效果、水彩效果

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:代码医生 OpenCV是功能强大的计算机视觉库,具有强大的图像处理工 ...

  7. 用python将图片变为油画_Python OpenCV绘画完成 油画效果、水彩效果

    序言 文中的文本及图片来自互联网,仅作学习培训.沟通交流应用,不具备一切商业行为,著作权归著作人全部,如不太好请立即在线留言以作解决. 创作者:编码医师 OpenCV是功能齐全的人工智能算法库,具备强 ...

  8. opencv学习17——油画效果

    一.算法描述 图像油画效果 1.类似于马赛克及毛玻璃效果,也是卷积操作的一种 2.基本原理:将在计算某点像素值时,通过计算周围区域的某些像素值得到本点像素值 1)分别读取彩色图.灰度图,将灰度全值(0 ...

  9. 【C#】图片处理——浮雕、黑白、油画效果源码

    本例应用场合:对图片进行基本的翻转操作,图片浮雕.黑白.油画效果的实现. 本例编译环境:VS2010及以上版本编译通过. 运行效果: 运行动态效果 主要功能: 图片浮雕.黑白.油画效果处理: 图片翻转 ...

最新文章

  1. 无需成对示例、无监督训练,CycleGAN生成图像简直不要太简单
  2. Android studio 使用心得(六)---android studio 如何加载.so文件
  3. 【转】接口测试Session/Cookie笔记(二)
  4. 真人3D Avatar
  5. 免费软件做的不错的,这里要说一个叫《飞秋》的软件
  6. 【有容云案例系列】基于Jenkins和Kubernetes的CI工作流
  7. 通过代码学 Sutton 强化学习:SARSA、Q-Learning 时序差分算法训练 CartPole
  8. 配置普通,长得丑,OPPO R11凸显OPPO创新乏力
  9. python selenuim使用代理的方式
  10. html div 球形,CSS3球形
  11. 通达OA的一些资源地址,持续更新
  12. d3开发Svg编辑器
  13. 120、华为9300交换机配置命令手册
  14. 黑道圣徒3如何去掉马赛克
  15. 计算机密码无法输完整,笔记本电脑键盘失灵无法输入密码怎么解决
  16. 利用matlab实现AM调制解调
  17. httpsclient 自动获取证书 无证书访问 验证过能直接用
  18. 中介模式(python实现2)
  19. 入门学习MNIST手写数字识别
  20. 零基础学python-2.24 一些常用函数

热门文章

  1. 数据结构(严蔚敏)之一——顺序表之c语言实现
  2. android输入法中的imeoption
  3. scrapy-redis 分布式学习记录
  4. 一种高效快速的内存池实现(附源码)
  5. [leetcode] Restore IP Addresses
  6. 根据工作年限预测工资python代码实现
  7. YUM更换源(1)--yum找不到安装包 2013-01-18 20:08 8687人阅读 评论(1) 收藏 举报 分类: linux(70) 公司提供的CentOS VM中,/etc/yum.r
  8. 用freeze.py打包python程序成可执行程序(linux)
  9. 一台服务器最多能创建多少个 TCP 连接?
  10. 概率论的一些基本问题