Python编程如何利用Numpy和PIL库将图片转化为手绘
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,小编给大家分享一下Python编程如何利用Numpy和PIL库将图片转化为手绘,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧
千家信息网最后更新 2026年11月03日Python编程如何利用Numpy和PIL库将图片转化为手绘
小编给大家分享一下Python编程如何利用Numpy和PIL库将图片转化为手绘,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
主要采用的技术点
Python + Numpy + PIL
在正文代码开始前,大家先看看最初原图和转换手绘风图片前后对比。
当然了,我先查了手绘的三个基本特点:
图片可单通道灰度图
边缘线条较重可当成黑色,相同或相近像素值趋向白色
光源效果下,灰度变化类似于人类视觉的远近
下面开始介绍,手绘照实现步骤:
读取图片,转化为数组
因为要对图像的像素计算,可以先把图片先转化为数组。代码如下:
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.
计算 x,y,z 轴梯度值,归一化
照片对边缘区域更侧重,计算梯度是定位图片边缘部分最有效方式,用灰度变化来模拟图片远近效果,depth 表示预设深度,z 轴默认梯度为 1。
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 / Auni_y = grad_y / Auni_z = 1. / A
加入光源效果
根据光源不同的入射角度,对x,y,z 各轴上的梯度值有不同程度的影响,添加一个模拟光源,放置在斜上方,与 x , y 分别形成两个夹角,最后用正弦余弦函数计算出新的像素值。
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) # 光源归一化,8 255b = b.clip(0, 255)# 对像素值低于0,高于255部分做截断处理
导出图片,并保存
im.save("man_shouhui.jpg")用 Python将一张图片转化为手绘风格,就这么轻松搞定了!
以上是"Python编程如何利用Numpy和PIL库将图片转化为手绘"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
图片
光源
梯度
图像
灰度
像素
影响
效果
篇文章
边缘
编程
不同
代码
内容
弧度
数组
角度
远近
部分
变化
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
百单网互联网科技有限公司
高科技互联网
互联网科技会
金融科技还是互联网
万易互联网科技有限公司
中国互联网科技发展
凡科互联网科技
致聘互联网科技
上海喔噻互联网科技
腾讯科技 互联网女皇
广州善班互联网科技
科技赋能互联网健康
深圳国际航运科技和互联网
字节跳动和互联网科技
青岛科技大学互联网大赛研究生
速维有品互联网信息科技(苏州)有限公司
长沙茂晟互联网科技有限公司
科技大学互联网
北京天晋互联网科技有限公司
美国五大互联网科技公司市值多少
互联网科技英文
腾讯科技 互联网女皇
中正互联网科技招聘
深圳互联网科技怎么样
互联网公司会议桌创意科技软装饰
深圳前海聚择互联网科技有限公司
金融科技与互联网金融相同和不同
华夏恒生科技与互联网科技
半导体是互联网高科技吗
珠海东科互联网科技有限公司