一、前言

用python画素描画的方式有很多种,

常见的有通过opencv、pil来进行转换

这里给大家分享通过pil实现图片转素描风格绘画的方式。

对人像的转换出来看就一般,对风景的转化看着还行。

大佬可优化一下算法。

二、效果

1.风景

原图:

转换后:

2.人像

原图:

转换后:

3.物品

原图:

转换后:

三、环境要求

1.python3+
2.numpy
3.pillow

四、源码分享

from PIL import Image
import numpy as np
import tkinter.filedialog
root = tkinter.Tk().withdraw()
filename = tkinter.filedialog.askopenfilename()  # 打开选择文件对话框
try:depth = 30  # 0-100,越高,颜色越深picture_grad = np.gradient(np.asarray(Image.open(filename).convert('L')).astype('int'))  # 取图像灰度的梯度值grad_x, grad_y = picture_grad[0] * depth / 100., picture_grad[1] * depth / 100.  # 将获取的维度梯度值进行深度处理base = np.sqrt(grad_x ** 2 + grad_y ** 2 + 1.)  # 降噪基_x, _y, _z = grad_x / base, grad_y / base, 1. / basesce_z, sce_x = np.pi / 2.1, np.pi / 3  # 光源的俯视角度值和方位角度值# 光源对x,y,z 轴的影响dx, dy, dz = np.cos(sce_z) * np.cos(sce_x), np.cos(sce_z) * np.sin(sce_x), np.sin(sce_z)Normalized = 255 * (dx * _x + dy * _y + dz * _z).clip(0, 255)  # 光源归一化im = Image.fromarray(Normalized.astype('uint8'))  # 重构图像im.save('转换后的素描图.jpg')  # 保存转换后的图片im.show()  # 展示转换后的图片
except Exception:print('转换失败!')

五、成品分享

可直接运行版下载地址:

已经打包成exe文件了,Windows环境下可直接点击运行
百度网盘下载地址:https://pan.baidu.com/s/1iz3qKx7kLIIwFsOTujDxQg
提取码:1lb7

CSDN下载地址:https://download.csdn.net/download/momoda118/20719184

分享暂时到这里,小伙伴们点赞、收藏、评论是对我最大的支持!!

欢迎访问往期文章!

六、往期文章回顾

python小爬虫-28行代码实现图形化在线翻译!

python-85行代码完成贪吃蛇和关卡升级:是男人就坚持到第10关!

python-20行代码将图片转素描画(附源码和成品下载地址)相关推荐

  1. 20行Python代码实现图形化翻译工具(附源码和成品下载地址)

    文章目录 一.实现效果 二.实现思路 三.核心源码 四.源码和成品分享 五.总结 一.实现效果 话不多说,直接上演示效果: 1.中文转英文 <<点我获取[源码]和[可直接运行]的文件< ...

  2. 免费开源的高精度OCR文本提取,支持 100 多种语言、自动文本定位和脚本检测,几行代码即可实现离线使用(附源码)

    免费开源的高精度OCR文本提取,支持 100 多种语言.自动文本定位和脚本检测,几行代码即可实现离线使用(附源码). 要从图像.照片中提取文本吗?是否刚刚拍了讲义的照片并想将其转换为文本?那么您将需要 ...

  3. 用python写的代码输入助手小程序(附源码)

    目录 运行: 使用: 添加: 编辑: 创建新的空数据库: 命令太多,很容易忘记,还有很多代码片段想保存下来用到的时候能够快速输入,提高开发效率.在网上找了很多,发现都不是自己想要的.于是就用pytho ...

  4. c语言程序员写贪吃蛇代码28,厉害了,程序员28行代码写贪吃蛇游戏,附源码!...

    对于贪吃蛇游戏,大家基本上都玩过,但是作为一个程序员,大家是否想过要自己去写一个贪吃蛇,毕竟玩别人写的游戏和自己写的游戏是两种截然不同的感受,而且也可以通过制作来提升自己的技术! 其实贪吃蛇的逻辑并不 ...

  5. 记事本贪吃蛇游戏代码_厉害了,程序员28行代码写贪吃蛇游戏,附源码!

    对于贪吃蛇游戏,大家基本上都玩过,但是作为一个程序员,大家是否想过要自己去写一个贪吃蛇,毕竟玩别人写的游戏和自己写的游戏是两种截然不同的感受,而且也可以通过制作来提升自己的技术! 其实贪吃蛇的逻辑并不 ...

  6. 500 行代码写一个俄罗斯方块游戏(附源码)

    点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 导读:本文我们要制作一个俄罗斯方块游戏. 作者 | 派森学python 来源 | https://segmentfault.com/a/1 ...

  7. 100个必会的python脚本-100行Python代码实现自动抢火车票(附源码)

    前言 又要过年了,今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool.下面话不多说了,来一起看看详细的介绍吧. 先准备好: 12306网站用户名和密码 chrome浏览器及下载chromedr ...

  8. 20220517 Python 制作一个儿童学习软件 (附源码和软件下载) 包含语音合成 视频播放 pyqt pptsx3 Qmovie request pygame 音频播放

    20220517 Python 制作一个儿童学习软件 (附源码和软件下载) 包含语音合成 视频播放 pyqt pptsx3 Qmovie request pygame 音频播放 文章目录 202205 ...

  9. python画圣诞帽_使用Python给头像加上圣诞帽或圣诞老人小图标附源码

    随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhi ...

  10. python画圣诞老人_使用Python给头像加上圣诞帽或圣诞老人小图标附源码

    随着圣诞的到来,想给给自己的头像加上一顶圣诞帽.如果不是头像,就加一个圣诞老人陪伴. 用Python给头像加上圣诞帽,看了下大概也都是来自2017年大神的文章:https://zhuanlan.zhi ...

最新文章

  1. 用神经网络二分类理论重述双原子化合物的成键过程
  2. 【技术贴】解决 myeclipse打不开报错an error has occurred, see .
  3. Scala中可以定义多个package
  4. 5G NR CSI-RS
  5. redis 集群的密码设置
  6. 迷你sql profile,给缺少sql跟踪的朋友们
  7. QCA9531模块ART 认证测试指导
  8. 多开 android模拟器,安卓模拟器如何多开窗口保证游戏不封号
  9. 计算机为啥系统保护设置不了,Win7系统下不能设置电脑屏幕保护程序的时间怎么办...
  10. 使用Motion-Vector实现Real-time人体行为识别
  11. em在聊天中是什么意思_EM是什么意思?有几种解释?
  12. iTunes 给iPhone制作铃声
  13. 30天自制操作系统(day10)
  14. 为VMware vSphere创建Ubuntu 18.04 Terraform模板
  15. 通达信版弘历软件指标_通达信获利分析仿弘历软件的六彩神龙指标公式-通达信公式...
  16. 彻底搞懂MySQL表锁、行锁和叶锁
  17. anchor free和anchor based的区别
  18. windows防火墙是干什么的_windows的防火墙
  19. 什么是echo服务?如何开启?
  20. iOS开发 mov视频文件转换成其他视频文件格式

热门文章

  1. 带你深入理解矩阵乘法
  2. Probabilistic Road Map
  3. [通讯方式] 串口通信
  4. Google浏览器离线安装包下载
  5. Vulnhub靶机:GEMINI INC_ 1
  6. html网页怎么弄背景 图片,在html网页中如何设置背景图片?网页背景怎么设置?...
  7. Word符号,教你怎么在方框里打钩?
  8. 应届生如何准备校招【研发岗】
  9. 一文读懂IPO各板块审核流程
  10. 如何快速统计任意一条线段的长度?