简介:

首先介绍素描——使用单一色彩表现明度变化的绘画。

由素描的定义可显而易见,我们目标则是将图片转为灰度图,即单通道。

为了表现色彩的明度变化,我们可以在代码中增加一种光源效果,从而达到灰度变化以模拟视觉的远近效果

所需库:

from PIL import Image
import numpy as np

代码介绍:

1.获取图片灰度转入数组,方便接下的计算。

a=np.asarray(Image.open("2022.PNG").convert("L")).astype("float")

2.分别获取图像梯度值 进行归一化处理

depth=10
grad=np.gradient(a) #取图像灰度的梯度值
grad_x,grad_y=grad #分别取纵横向图像梯度值
grad_x=grad_x * depth/100.
grad_y=grad_y * depth/100.

3.归一化操作

A=np.sqrt(grad_x ** 2 + grad_y ** 2 + 1.) #取平方根
uni_x=grad_x / A
uni_y=grad_y / A
uni_z=1. / A

4.添加光源效果,考虑光源对xyz轴影响,再用sin和cos函数进行计算(网上搜到的)

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轴的影响

5.计算新的像素值,并将像素值高于255,低于0的值筛出

b=255*(dx * uni_x +dy*uni_y+dz*uni_z) #光源归一化
b=b.clip(0,255) # 避免数据越界,将生成的灰度值裁剪至0-255之间

6.重构像素,保存图片

im=Image.fromarray(b.astype("uint8")) # 重构图像(将数组转化成图像)
im.save('2022_sumiao.jpg')

代码运行:

  运行后会在同文件夹中直接保存

结果展示:

小结:

粘贴上面所有代码即可运行,大佬们可以用以此为延申来做素描画风的视频

用python进行图片素描相关推荐

  1. python PIL 图片素描化

    from PIL import Image import numpy as npa = np.asarray(Image.open("D://7.jpg").convert('L' ...

  2. python画素描画_使用Python将图片变成铅笔素描

    原标题:使用Python将图片变成铅笔素描 新书即将面市,敬请关注 本文转自:JiekeXu之路(ID:JiekeXu_IT,已获授权) " 我们知道一张色彩鲜艳的美照,看起来自然赏心悦目的 ...

  3. python将图片转换成动漫,python实现图片转换成素描和漫画格式

    本文实例为大家分享了python实现图片转换成素描和漫画格式的具体代码,供大家参考,具体内容如下 原图 图片转换后的成果 源码 # -*- coding: utf-8 -*- import cv2 f ...

  4. python照片转素描_python实现图片彩色转化为素描

    本文实例为大家分享了Python将图片彩色转化为素描的具体代码,供大家参考,具体内容如下 第一种: from PIL import Image, ImageFilter, ImageOps img = ...

  5. python图片转成素描_巧用python实现图片转换成素描和漫画格式

    [相关学习推荐:python教程] 本文实例为大家分享了python实现图片转换成素描和漫画格式的具体代码,供大家参考,具体内容如下 原图 图片转换后的成果 源码# -*- coding: utf-8 ...

  6. python风格变换图片_巧用python实现图片转换成素描和漫画格式

    [相关学习推荐:python视频教程] 本文实例为大家分享了python实现图片转换成素描和漫画格式的具体代码,供大家参考,具体内容如下 原图 图片转换后的成果 源码# -*- coding: utf ...

  7. python照片转化为漫画_巧用python实现图片转换成素描和漫画格式

    [] 本文实例为大家分享了python实现图片转换成素描和漫画格式的具体代码,供大家参考,具体内容如下 原图 图片转换后的成果 源码# -*- coding: utf-8 -*- import cv2 ...

  8. python把图片转化为素描画_python如何将图片转换素描画 python将图片转换素描画代码示例...

    python如何将图片转换素描画?本篇文章小编给大家分享一下python将图片转换素描画代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 代码如 ...

  9. python将图片转动漫_python实现图片转换成素描和漫画格式

    本文实例为大家分享了python实现图片转换成素描和漫画格式的具体代码,供大家参考,具体内容如下 原图 图片转换后的成果 源码 # -*- coding: utf-8 -*- import cv2 f ...

最新文章

  1. 基于EM参数估计的SAGE算法的MATLAB仿真
  2. 关于Visual Basic 10.0
  3. Mybatis Plus——[Could not set property 'id' of '***' with value]解决方案
  4. 【cropper】限制图片大小
  5. linux 进程管理 ppt,Linux内核结构与进程管理.ppt
  6. 鱼骨图分析法实际案例_让你头脑更精明的十种思考法:鱼骨图
  7. Java Servlet API中文说明文档
  8. [剑指offer]面试题第[59-1]题[Leetcode][第239题][JAVA][滑动窗口的最大值][单调队列][优先队列]
  9. sqlserver——视图
  10. Exchange2010中文版安装教程
  11. 拓端tecdat|R语言乘法GARCH模型对高频交易数据进行波动性预测
  12. com.google.common.base.Preconditions.checkNotNull(Preconditions.java:877)
  13. 微信 iOS 收款到帐语音提醒开发总结
  14. 【阿里云生活物联网架构师专题 ⑥】ESP8266接入阿里生活飞燕平台国际版,实现亚马逊Alexa Echo音响语音控制;
  15. 炒股两个指标: M1增速和筹码分布
  16. java excel合并,Java Excel合并工具
  17. 垃圾分类游戏HTML,三七互娱:60秒挑战垃圾分类
  18. Android打包混淆压缩
  19. 支付宝:APP支付接口2.0(alipay.trade.app.pay)
  20. 如何推动乡村振兴的落地

热门文章

  1. 乐高大颗粒作品3:留声机的搭建
  2. 无敌的油猴使用,持续更新中
  3. 德卡t10社保卡类型_德卡T10读卡器 读取身份证号码和身份证UID
  4. 号称最挤的北京十条公交车
  5. 戴尔Alienware x14R1 原厂win11系统 带F12 Support Assist OS Recovery一键还原恢复出厂设置功能
  6. 代码洁癖系列(五):外在的格式美
  7. 将Matlab的多幅图片制成GIF
  8. 护士进修计算机水平,护理人员进修申请表中的本人专业水平怎么写?
  9. mysql左连接—left join
  10. 【现代机器人学】学习笔记一:位形空间