【Unity Shaders】抖音变身漫画1

2023-11-17

先来看一下手机拍出来的效果,我们发现有一张人像变成了卡通漫画脸,其它的只是做了一些图像处理。

你可以再拍几张看一下,会发现千篇一律的大眼、小嘴有没有。你想的没错,这个是AI换脸技术,抖音特效里有很多了,把这个漫画脸再加上对图像的漫画处理,最后出来的就是这个效果。

两大步骤:AI换脸、人脸区域以外的图像处理

AI技术这里就不讨论了,感光趣的自行 Google/Baidu/Bing

人脸区域以外的图像处理:黑线描边,通过亮度比对度、色相饱和度来改变最终图像中颜色级别的数量。

分析完毕,希望大家认真看完,理解其中原由,做起来得心应手。

遇到凡事不要慌,先把效果拿出来反复看一会儿。

下一篇上图像处理算法!!!

 

微信号:ITComputerGraph

更多精彩内容,关注公众号《IT木子李

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Unity Shaders】抖音变身漫画1 的相关文章

  • 如何在使用 Cmake 构建期间编译 HLSL 着色器?

    我正在开发 d3d 应用程序 我想在使用 cmake 构建期间编译我的 hlsl 着色器 我不知道从哪里开始 这是我当前的 CMakeLists txt cmake minimum required VERSION 3 20 project
  • 渲染具有透明度的纹理时,OpenGL 不需要的像素

    我已经为这个问题苦苦挣扎了一段时间了 当我使用 OpenGL 渲染 2D 纹理 在无透明度和部分透明度之间的过渡上具有透明度值 时 我得到了一些烦人的灰色像素 我认为这是像素值插值的产物 关于如何改进这一点有什么想法吗 I m attach
  • Windows下使用GLEW使用OpenGL扩展

    我一直在 Windows 上使用 OpenGL 扩展痛苦的方式 https stackoverflow com questions 14413 using opengl extensions on windows GLEW 是更简单的方法吗
  • OpenGL - 自动生成 glDrawArrays 的索引/步幅参数

    我正在渲染一个包含大量数据点 gt 1M 的网格结构 我的数据结构如图所示 所以我的索引缓冲区的内容看起来像这样0 100 1 101 2 102 3 103 我对索引缓冲区的巨大尺寸有点恼火 我需要它来定义我的三角形带 是否有可能告诉 O
  • 纹理采样:根据LOD值计算BIAS值

    GL ES 2 0 中的功能纹理2DLod在片段着色器中不可用 我需要移植 GLSL 着色器 在 GL ES 2 0 中我只能使用二维纹理 sampler2D 采样器 vec2 坐标 浮点数bias 告诉我如何计算 a 的值bias相当于已
  • OpenSceneGraph 将相机设置在初始位置

    我是第一次使用 OpenSceneGraph 我有点迷失 因为文档确实不太清楚 所以 我有这段代码加载一个带有房子的 obj 文件 并且我在我想要的 人 所在的地方淹没了一个小盒子 所以现在 我不想把那个盒子放在那里 而是想把相机放在那里
  • 如何在片段着色器中将 gl_FragCoord 转换为世界空间点?

    我的理解是 如果您有视图投影矩阵 屏幕宽度和屏幕高度的逆矩阵 则可以将 gl FragCoord 转换为片段着色器中世界坐标中的点 首先 你转换gl FragCoord x and gl FragCoord y通过分别除以宽度和高度 然后将
  • 使用普通画布/文本输出更新LayeredWindow

    有没有一种方法可以使用画布在表单上绘图 然后使用 updatelayeredwindow 这样表单就不可见 但文本可见 就像只显示文本的半透明表单一样 如果没有 那么有没有办法只用画布 opengl directx 制作某种半透明形式 我想
  • 仅在发布模式下使用 glGenBuffer 时出现未处理的异常 - QT

    我在 Windows 7 上使用 Qt 4 8 发布模式编译项目时遇到了一些问题 调试时一切正常 但在发布时我收到未处理的异常 0xC0000005 访问冲突 我将范围缩小到发生这种情况的行 即生成像素缓冲区的时间 我的第一个猜测是 DLL
  • 之前对 GL.Color3 的调用使我的纹理使用了错误的颜色

    制作 2D OpenGL 游戏 渲染帧时 我需要首先绘制一些计算的四边形几何体 然后绘制一些纹理精灵 当我的渲染方法主体仅绘制精灵时 一切正常 但是 当我尝试在精灵之前绘制几何四边形时 精灵的纹理会更改为之前使用的最后一个 GL Color
  • 进行亚像素平移时,2D 纹理会扭曲

    我想知道一个理论推理为什么这是可能的 几何体的平移与纹理映射有何关系 我只能在进行子像素平移时注意到这种效果 如果通过整个像素平移 纹理看起来很好 我正在使用正交投影 GL CLAMP TO EDGE GL NEAREST 片段着色器是hi
  • 开启TK onRenderFrame和onUpdateFrame的区别?

    我目前正在使用 OpenTK 框架和 OpenGL 用 C 编写 Jump n Run 游戏 Open TK 提供预设功能 例如GameWindow Run or GameWindow onUpdateFrame onRenderFrame
  • 如何使用OpenGL数组纹理?

    我正在尝试在OpenGL中使用精灵表 通过数组纹理实现它这就是我加载纹理的方式 QImage image image load C QtProjects project images spritesheet png png const un
  • 是否可以在 Mac OS X 上构建 FreeGLUT?

    我正在做一些关于 OpenGL 的教程 http www arcsynthesis org gltut Basics Tutorial 2001 html那个使用FreeGLUT http freeglut sourceforge net
  • GLSL memoryBarrierShared() 有用吗?

    我想知道 memoryBarrierShared 的用处 事实上 当我查找屏障功能的文档时 我读到 对于计算着色器中任何给定的静态屏障实例 单个工作组内的所有调用都必须进入该实例 然后才能允许任何调用继续超出该实例 这确保了在给定的屏障静态
  • OpenGL/GLSL - 纹理过滤的实现

    我想在 GLSL 着色器中自己实现纹理过滤 min 和 magfilter 因为我想使用 image load and store 而不是采样器 而且我想以特殊方式处理未定义的像素 并且我正在寻找一篇文章或者这样讨论过滤过程 我记得如何从我
  • 在 OpenGL 中设置 MVP 矩阵

    我正在尝试学习 OpenGL 的基础知识 但我在设置变换矩阵时遇到问题 我制作了模型 视图和投影矩阵 但将它们发送到我的顶点着色器时遇到问题 这是代码 Set up MVP glm mat4 model glm mat4 GLint uni
  • 计算着色器中的 Image2D

    我想使用 image2D 作为顶点的 2D 存储 该顶点将由计算着色器修改 但不起作用 创建纹理 glGenTextures 1 HeightMap glBindTexture GL TEXTURE 2D HeightMap glTexIm
  • Libgdx SpriteBatch.draw() 指定 4 个顶点

    我正在使用 libGdx 创建一个 2d 游戏 并尝试使用这个特殊的方法来绘制一个简单的 2d 纹理 分别指定 4 个顶点 draw Texture texture float spriteVertices int offset int l
  • 线性/非线性纹理映射扭曲的四边形

    In my 上一个问题 https stackoverflow com questions 10832909 quad strip texturing distortion 已经确定 当对四边形进行纹理化时 面被分解为三角形 并且纹理坐标以

随机推荐

  • 观察者模式和发布订阅模式

    观察者模式与发布订阅模式的区别 1 观察者模式中只有观察者和被观察者 发布订阅模式中有发布者 订阅者 调度中心 2 观察者模式是被观察者发生变化时自己通知观察者 发布订阅模式是通过调度中心来进行分布订阅操作 vue2中响应式数据就是由Obj
  • 【大数据技术】Spark MLlib机器学习特征抽取 TF-IDF统计词频实战(附源码和数据集)

    需要源码和数据集请点赞关注收藏后评论区留言私信 特征抽取 TF IDF TF IDF是两个统计量的乘积 即词频 Term Frequency TF 和逆向文档频率 Inverse Document Frequency IDF 它们各自有不同
  • QT笔记- 对QSring字符串内容进行过滤筛选或对QLineEdi的可输入内容进行控制,使其不含某些字符、只含某些字符或只含特定格式的字符串,如只含字母数字和下划线

    QSring字符串内容的过滤筛选 QString类函数contains 用于判断字符串中是否含有某些字符 其有两个重载函数 第一个是简单筛选 第二个是使用 正则表达式 之后有解释 进行筛选 两函数原型为 bool QString conta
  • protocol buffer 编解码

    平时的开发中使用pb格式协议较多 大致了解了一下pb的编解码 即序列化和反序列化 本文参考官方文档 https developers google com protocol buffers docs encoding hl zh cn 先看
  • Word去除多余的页眉

    word去除多余的页眉 1 在正式页眉开始的页面点击鼠标 此时光标位于要删除页眉下划线页的首部 2 单击上方菜单栏的 页面布局 分隔符 分节符 下一页 3 在正式页眉开始的地方双击鼠标 进入 页眉编辑 状态 4 单击 页眉和页脚 将 链接到
  • SVN时代...

    SourceForge开始全面支持Subversion 这真是个好消息 这预示着CVS独霸天下的时代快要结束 SVN时代就要来临 和CVS比起来 SVN的确很强大 这就像它的出现就是为了取代CVS一样 它的目标快要实现了 具体的功能特性大家
  • Cocos2d-x 3.17.1 Android Studio环境搭建和创建编译项目和真机调试

    eclipse NDK参考 https www cnblogs com l d d p 6531557 html 最近项目上需要用Cocos2d x在Android智能硬件上进行开发 很早之前搭建过Cocos2d x3 15 1 Eclip
  • 利用IDM实现百度云满速下载

    一 IDM Internet Download Manager 简称 IDM 是一种将下载速度提高5倍的工具 可以恢复和安排下载 由于连接丢失 网络问题 计算机关机或意外停电等原因 全面的错误恢复和恢复功能将重新启动中断或中断的下载 简单的
  • MATLAB绘制正弦函数与余弦函数的线性组合曲线

    h0 figure toolbar none position 200 150 450 350 name 实例11 x 0 pi 20 2 pi y1 sin x y2 cos x h1 stem x y1 y2 画出线性组合的图 hold
  • SQL注入——学生选课系统注入

    目录 前言 一 实验环境 二 实验步骤 1 万能密码 2 堆叠注入 3 报错注入 4 时间盲注 前言 本次实验利用教师指定的学生选课管理系统进行SQL注入 包含万能密码登录 堆叠注入 报错注入和时间盲注 一 实验环境 Windows10虚拟
  • QT 15--获取任何种类文件的某些文件属性:大小、创建时间、上次修改时间等等

    1 首先说一些 如果是mainwindow的QT工程 如果打算做自己手写ui 界面的话 该如何将自己写的内容添加到mainwindow界面呢 方法为 新建一个widget类 然后将所有零件都用布局布置好后 只需将总布局添加到widet 然后
  • KMP时间复杂度分析

    比较过程分析 比较次数 比较次数 红色 蓝色 蓝色部分是相比暴力求解 节省下的比较次数 周期 从比较次数可以看出 呈现 1 1 1 1 5 这样的周期 一个周期内的比较次数 8 周期长度 5 周期个数 n 5 比较总次数 周期个数 一个周期
  • 学成在线笔记+踩坑(10)——课程搜索、课程发布时同步索引库。

    导航 黑马Java笔记 踩坑汇总 JavaSE JavaWeb SSM SpringBoot 瑞吉外卖 SpringCloud 黑马旅游 谷粒商城 学成在线 牛客面试题 java黑马笔记 目录 1 检索模块 需求分析 1 1 全文检索介绍
  • H3 GPIO笔记

    NanoPi NEO Core最近买了一块 这个板子使用全志H3 查看H3的数据手册 把GPIO这部分做个笔记 H3有7组GPIO 如下 分别是PA PC PD PE PF PG PL 没有PB这一组 PA有22个端口 PC有19个端口 P
  • 【LeetCode题解】1475、商品折扣后的最终价格

    题目 给你一个数组 prices 其中 prices i 是商店里第 i 件商品的价格 商店里正在进行促销活动 如果你要买第 i 件商品 那么你可以得到与 prices j 相等的折扣 其中 j 是满足 j gt i 且 prices j
  • CSS动画:Transition与Animation

    本文总结CSS3中两个用来做动画的属性 一个是transition 另一个是animation 差异比较 CSS3 差异 transition 在给定的持续时间内平滑地更改属性值 从一个值到另一个值 也就是只需要指定开始与结束的参数 参数改
  • 让汽车的全景环视更智能更安全!

    随着现代汽车安全技术的进步 我们看到诸如全景环视等先进驾驶辅助 ADAS 技术成为现代汽车的新标准 本演示展示了如何通过精确的实时反射和AI来检测障碍 以提升全景环视系统的性能 让汽车驾驶更安全 尤其是 当全景环视系统内嵌Imaginati
  • cesium-添加点并且可以编辑

    完整代码
  • 05_Numpy任意行&列的删除方法(numpy.delete)

    05 Numpy任意行 列的删除方法 numpy delete 函数Numpy delete 可以删除ndarray数组中任意的行或者列 指定要删除的轴 维度 和要删除的位置 行号 列号 也可以通过切片或列表选择多个行或者列的编号 对以下的
  • 【Unity Shaders】抖音变身漫画1

    先来看一下手机拍出来的效果 我们发现有一张人像变成了卡通漫画脸 其它的只是做了一些图像处理 你可以再拍几张看一下 会发现千篇一律的大眼 小嘴有没有 你想的没错 这个是AI换脸技术 抖音特效里有很多了 把这个漫画脸再加上对图像的漫画处理 最后