用PIL制作手绘风格滤镜

话不多说,直接上代码!

from PIL import Image
import numpy as npdef ArtDraw(path0,path1):try:a = np.asarray(Image.open(path0).convert('L')).astype('float')print("图片的大小为:{},图片的RGB值为:{}".format(a.shape,a.dtype))depth = 10.grad = np.gradient(a)grad_x, grad_y = gradgrad_x = grad_x * depth / 100grad_y = grad_y * depth / 100A = np.sqrt(grad_x ** 2 + grad_y ** 2 + 1.)uni_x = grad_x / Auni_y = grad_y / Auni_z = 1. / Avec_e1 = np.pi / 2.2vec_e2 = np.pi / 4.dx = np.cos(vec_e1) * np.cos(vec_e2)dy = np.cos(vec_e1) * np.sin(vec_e2)dz = np.sin(vec_e1)b = 255 * (dx * uni_x + dy * uni_y + dz * uni_z)b = b.clip(0, 255)im = Image.fromarray(b.astype('uint8'))im.save(path1)print("转换成功!")except:print("转换失败!")def main():path0 = input("请输入原片的路径:")path1 = input("请输入保存的路径:")ArtDraw(path0,path1)main()

运行结果如下:

用PIL制作手绘风格滤镜相关推荐

  1. asp.net 获取全部在线用户_这款手绘风格的在线制图软件超棒

    在线流程图制作软件 说到流程图制作,你可能会用Microsoft Office Visio,然而这个软件太重量级了.现在在线制图软件也做的很好了,比如ProcessOn,它的用户体验非常好.但是这款软 ...

  2. 【干货】什么是手绘风格的次世代游戏制作

    大家现在对于次世代游戏的已经很熟悉了,但是手绘风格的次世代又是什么鬼,这东西到底怎么做,很多不太了解的小伙伴应该还是有点蒙蒙的,今天就来说一说,这"手绘风格的次世代游戏"三维美术的 ...

  3. Excalidraw - 免费的手绘风格白板应用,能够画各种流程图、示意图、架构图

    一款完全免费的手绘风格绘图在线应用,能快速画出漂亮的流程图.示意图甚至是图表. 关于 Excalidraw Excalidraw 是一款轻量的手绘风格电子白板在线应用,无论是 Windows / ma ...

  4. 《战锤》武器设计:手绘风格的PBR流程

    Tim Paauwe[1]重新制作了战锤中高阶精灵的长剑并分享了有关硬表面建模,分UV,烘焙,贴图,灯光等全流程教程. 项目简介 谢谢你再次邀请我,很高兴回来!我的名字是Tim Paauwe,我是El ...

  5. Python -- 图像的手绘风格

    ** Python – 图像的手绘风格 ** 今天在mooc上了解到python可以做出手绘风格的图片,感觉很惊奇,很想知道python对于图片是如何处理的,因此上网搜了一些博主的文章,总结了一下. ...

  6. 手把手教你实现手绘风格图形

    大家好,我是 漫步,今天分享一篇高难度的图形绘制文章. Rough.js[1]是一个手绘风格的图形库,提供了一些基本图形的绘制能力,比如:虽然笔者是个糙汉子,但是对这种可爱的东西都没啥抵抗力,这个库的 ...

  7. Unreal Engine 4 手绘风滤镜(Paint Filter)即 桑原滤镜(Kuwahara Filter)教程(上)

    原文|<Unreal Engine 4 Paint Filter Tutorial> 作者|Tommy Tran May 1 2018 | 翻译 开发游戏的老王 阅读时长|25分钟 内容难 ...

  8. js折线图设置y轴刻度_手绘风格的 JS 图表库:Chart.xkcd

    本文作者:HelloGitHub-kalifun 图表库千万个今天 HelloGitHub 给大家推荐个很有"特色"的图表库:一个手绘风格的 JS 图表库 -- Chart.xkc ...

  9. 手绘风格的数据可视化 Sketchify,让你的图表也萌萌哒

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | naughty 来源 | oschina.ne ...

最新文章

  1. 计算机c语言试题文档,c语言计算机考试试题
  2. keil 使用AC6 中文警告解决办法
  3. php设置错误,错误记录
  4. SqlServer 添加用户 添加角色 分配权限
  5. 数据 3 分钟 | 多家数据库厂商联合发布《分布式数据库发展路径研究》报告、巨杉数据库公布 2021 春季发布会时间...
  6. jQuery Validate 表单验证插件----在class属性中添加校验规则进行简单的校验
  7. IOS开发的一些好的建议和小技术
  8. 从写组件说Xml——实现(五)
  9. Unity Shader 中获取屏幕坐标
  10. TryJquery- 14个jquery视频
  11. 个人简历自我介绍求职面试PPT模板
  12. 改名后火速递表,飞天云动冲刺国内元宇宙第一股,借力能否成功?
  13. 如何通过python多线程抓取所有东方财富股票信息
  14. python抢课_一个用python实现的东方时尚(驾校)抢课程序
  15. 计算机网络传输速度单位换算,网络速度单位换算
  16. 慢内容广告:品牌增长的长线主义
  17. Pyinstaller的Spec文件用法
  18. cx_Oracle.DatabaseError: ORA-01036: 非法的变量名/编号
  19. FFMPEG的像素格式
  20. 计算机睡眠后键盘鼠标无法唤醒,电脑休眠键鼠无法唤醒?解决键盘鼠标无法唤醒电脑待机的问题...

热门文章

  1. X7-2计算节点关于网卡的一点变化
  2. arcGIS加载cad的dwg文件
  3. mysql给一个表添加外键约束_Mysql添加外键约束
  4. AntDesign 的 Table 组件的 expandedRowRender 属性失效的问题
  5. 最强大的视频弹幕引擎——烈焰弹幕使(DanmakuFlameMaster)使用指南
  6. C# Winform Chart控件用法6之雷达图
  7. 基于C++ 实现(界面)校园导游系统【100010780】
  8. 百变星君---头条模块
  9. 计算机叫醒服务英语,电脑叫醒服务英语对话
  10. 选择智能扫地机器人的三个要点