用PIL制作手绘风格滤镜
用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制作手绘风格滤镜相关推荐
- asp.net 获取全部在线用户_这款手绘风格的在线制图软件超棒
在线流程图制作软件 说到流程图制作,你可能会用Microsoft Office Visio,然而这个软件太重量级了.现在在线制图软件也做的很好了,比如ProcessOn,它的用户体验非常好.但是这款软 ...
- 【干货】什么是手绘风格的次世代游戏制作
大家现在对于次世代游戏的已经很熟悉了,但是手绘风格的次世代又是什么鬼,这东西到底怎么做,很多不太了解的小伙伴应该还是有点蒙蒙的,今天就来说一说,这"手绘风格的次世代游戏"三维美术的 ...
- Excalidraw - 免费的手绘风格白板应用,能够画各种流程图、示意图、架构图
一款完全免费的手绘风格绘图在线应用,能快速画出漂亮的流程图.示意图甚至是图表. 关于 Excalidraw Excalidraw 是一款轻量的手绘风格电子白板在线应用,无论是 Windows / ma ...
- 《战锤》武器设计:手绘风格的PBR流程
Tim Paauwe[1]重新制作了战锤中高阶精灵的长剑并分享了有关硬表面建模,分UV,烘焙,贴图,灯光等全流程教程. 项目简介 谢谢你再次邀请我,很高兴回来!我的名字是Tim Paauwe,我是El ...
- Python -- 图像的手绘风格
** Python – 图像的手绘风格 ** 今天在mooc上了解到python可以做出手绘风格的图片,感觉很惊奇,很想知道python对于图片是如何处理的,因此上网搜了一些博主的文章,总结了一下. ...
- 手把手教你实现手绘风格图形
大家好,我是 漫步,今天分享一篇高难度的图形绘制文章. Rough.js[1]是一个手绘风格的图形库,提供了一些基本图形的绘制能力,比如:虽然笔者是个糙汉子,但是对这种可爱的东西都没啥抵抗力,这个库的 ...
- Unreal Engine 4 手绘风滤镜(Paint Filter)即 桑原滤镜(Kuwahara Filter)教程(上)
原文|<Unreal Engine 4 Paint Filter Tutorial> 作者|Tommy Tran May 1 2018 | 翻译 开发游戏的老王 阅读时长|25分钟 内容难 ...
- js折线图设置y轴刻度_手绘风格的 JS 图表库:Chart.xkcd
本文作者:HelloGitHub-kalifun 图表库千万个今天 HelloGitHub 给大家推荐个很有"特色"的图表库:一个手绘风格的 JS 图表库 -- Chart.xkc ...
- 手绘风格的数据可视化 Sketchify,让你的图表也萌萌哒
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | naughty 来源 | oschina.ne ...
最新文章
- 计算机c语言试题文档,c语言计算机考试试题
- keil 使用AC6 中文警告解决办法
- php设置错误,错误记录
- SqlServer 添加用户 添加角色 分配权限
- 数据 3 分钟 | 多家数据库厂商联合发布《分布式数据库发展路径研究》报告、巨杉数据库公布 2021 春季发布会时间...
- jQuery Validate 表单验证插件----在class属性中添加校验规则进行简单的校验
- IOS开发的一些好的建议和小技术
- 从写组件说Xml——实现(五)
- Unity Shader 中获取屏幕坐标
- TryJquery- 14个jquery视频
- 个人简历自我介绍求职面试PPT模板
- 改名后火速递表,飞天云动冲刺国内元宇宙第一股,借力能否成功?
- 如何通过python多线程抓取所有东方财富股票信息
- python抢课_一个用python实现的东方时尚(驾校)抢课程序
- 计算机网络传输速度单位换算,网络速度单位换算
- 慢内容广告:品牌增长的长线主义
- Pyinstaller的Spec文件用法
- cx_Oracle.DatabaseError: ORA-01036: 非法的变量名/编号
- FFMPEG的像素格式
- 计算机睡眠后键盘鼠标无法唤醒,电脑休眠键鼠无法唤醒?解决键盘鼠标无法唤醒电脑待机的问题...