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中的MySQLdb模块添加超时功能的教程
May 05 Python
Python图片裁剪实例代码(如头像裁剪)
Jun 21 Python
python中os和sys模块的区别与常用方法总结
Nov 14 Python
python TCP Socket的粘包和分包的处理详解
Feb 09 Python
Linux下python3.7.0安装教程
Jul 30 Python
pytorch常见的Tensor类型详解
Jan 15 Python
Tensorflow 模型转换 .pb convert to .lite实例
Feb 12 Python
浅谈python输出列表元素的所有排列形式
Feb 26 Python
Python修改列表值问题解决方案
Mar 06 Python
python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
Aug 05 Python
python使用多线程查询数据库的实现示例
Aug 17 Python
python实现马丁策略的实例详解
Jan 15 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
深入php define()函数以及defined()函数的用法详解
2013/06/05 PHP
PHP整数取余返回负数的相关解决方法
2014/05/15 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
PHP实现的方程求解示例分析
2016/11/11 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
js 遍历对象的属性的代码
2011/12/29 Javascript
jquery阻止冒泡事件使用模拟事件
2013/09/06 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
2017/01/13 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
2018/01/03 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
layui实现三级导航菜单
2019/07/26 Javascript
Vue.js仿Select下拉框效果
2020/02/18 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
python中通过预先编译正则表达式提高效率
2017/09/25 Python
pandas对指定列进行填充的方法
2018/04/11 Python
详解python数据结构和算法
2019/04/18 Python
python多线程下信号处理程序示例
2019/05/31 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
如何运行带参数的python脚本
2019/11/15 Python
Python实现图片识别加翻译功能
2019/12/26 Python
python实现数字炸弹游戏
2020/07/17 Python
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
十佳大学生村官事迹
2014/01/09 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
教师群众路线心得体会
2014/11/04 职场文书
活动经费申请报告
2015/05/15 职场文书
《春酒》教学反思
2016/02/22 职场文书