python实现图片素描效果


Posted in Python onSeptember 26, 2020

代码如下:

from PIL import Image  #图像处理模块
import numpy as np

a = np.asarray(Image.open("这里是原图片的路径").convert('L')).astype('float')  
#将图像以灰度图的方式打开并将数据转为float存入np中

depth = 10.           # (0-100)
grad = np.gradient(a)       #取图像灰度的梯度值
grad_x, grad_y =grad        #分别取横纵图像梯度值
grad_x = grad_x*depth/100.
grad_y = grad_y*depth/100.
A = np.sqrt(grad_x**2 + grad_y**2 + 1.)
uni_x = grad_x/A
uni_y = grad_y/A
uni_z = 1./A
#建立一个位于图像斜上方的虚拟光源
vec_el = np.pi/2.2          # 光源的俯视角度,弧度值
vec_az = np.pi/4.          # 光源的方位角度,弧度值
dx = np.cos(vec_el)*np.cos(vec_az)  #光源对x 轴的影响
dy = np.cos(vec_el)*np.sin(vec_az)  #光源对y 轴的影响
dz = np.sin(vec_el)         #光源对z 轴的影响
#计算各点新的像素值
b = 255*(dx*uni_x + dy*uni_y + dz*uni_z)   #光源归一化
b = b.clip(0,255)  #clip函数将区间外的数字剪除到区间边缘

im = Image.fromarray(b.astype('uint8')) #重构图像
im.save("这里是输出图片的路径")

检验一下效果:

from PIL import Image  #图像处理模块
import numpy as np


# 将图像以灰度图的方式打开并将数据转为float存入np中
a = np.asarray(Image.open("D://Python//图片转素描//4.jpg").convert('L')).astype('float')

depth = 10.           # (0-100)
grad = np.gradient(a)       # 取图像灰度的梯度值
grad_x, grad_y =grad        # 分别取横纵图像梯度值
grad_x = grad_x*depth/100.
grad_y = grad_y*depth/100.
A = np.sqrt(grad_x**2 + grad_y**2 + 1.)
uni_x = grad_x/A
uni_y = grad_y/A
uni_z = 1./A
# 建立一个位于图像斜上方的虚拟光源
vec_el = np.pi/2.2          # 光源的俯视角度,弧度值
vec_az = np.pi/4.          # 光源的方位角度,弧度值
dx = np.cos(vec_el)*np.cos(vec_az)  # 光源对x 轴的影响
dy = np.cos(vec_el)*np.sin(vec_az)  # 光源对y 轴的影响
dz = np.sin(vec_el)         # 光源对z 轴的影响
# 计算各点新的像素值
b = 255*(dx*uni_x + dy*uni_y + dz*uni_z)   # 光源归一化
b = b.clip(0,255)  # clip函数将区间外的数字剪除到区间边缘

im = Image.fromarray(b.astype('uint8')) # 重构图像
im.save("D://Python//图片转素描//4_2.jpg")

原图:

python实现图片素描效果

转换后

python实现图片素描效果

但是不适合那些依赖光影变换效果的图片,比如我最爱的百里守约就很糟糕

python实现图片素描效果

python实现图片素描效果

以上就是python实现图片素描效果的详细内容,更多关于python 图片素描的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python实现计算两个时间之间相差天数的方法
May 10 Python
django中的HTML控件及参数传递方法
Mar 20 Python
tensorflow 输出权重到csv或txt的实例
Jun 14 Python
对python中大文件的导入与导出方法详解
Dec 28 Python
python dlib人脸识别代码实例
Apr 04 Python
python文本数据处理学习笔记详解
Jun 17 Python
python3 深浅copy对比详解
Aug 12 Python
初次部署django+gunicorn+nginx的方法步骤
Sep 11 Python
使用 Python 写一个简易的抽奖程序
Dec 08 Python
jupyter notebook oepncv 显示一张图像的实现
Apr 24 Python
python time()的实例用法
Nov 03 Python
python快速安装OpenCV的步骤记录
Feb 22 Python
Python:__eq__和__str__函数的使用示例
Sep 26 #Python
Kmeans均值聚类算法原理以及Python如何实现
Sep 26 #Python
python实现sm2和sm4国密(国家商用密码)算法的示例
Sep 26 #Python
Python爬取股票信息,并可视化数据的示例
Sep 26 #Python
如何利用python发送邮件
Sep 26 #Python
Python 测试框架unittest和pytest的优劣
Sep 26 #Python
浅析python函数式编程
Sep 26 #Python
You might like
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
收集的DedeCMS一些使用经验
2007/03/17 PHP
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
2013/06/21 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
jquery.form.js异步提交表单详解
2017/04/25 jQuery
vue2.0中goods选购栏滚动算法的实现代码
2017/05/17 Javascript
webpack 2.x配置reactjs基本开发环境详解
2017/08/08 Javascript
dts文件中删除一个node或属性的操作方法
2018/08/05 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
vue获取form表单的值示例
2019/10/29 Javascript
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python datetime时间格式化去掉前导0
2014/07/31 Python
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
详解用Python处理HTML转义字符的5种方式
2017/12/27 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
python滑块验证码的破解实现
2019/11/10 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
Beach Bunny Swimwear官网:设计师泳装和性感比基尼
2019/03/13 全球购物
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
材料物理专业大学毕业生求职信
2013/10/15 职场文书
英文简历自荐信范文
2013/12/11 职场文书
企业管理培训感言
2014/01/27 职场文书
乡镇挂职心得体会
2014/09/04 职场文书
餐厅保洁员岗位职责
2015/04/10 职场文书