其实就是将原图放入。然后你用工具将图像P一下,转换为素描图像。很像滤镜之类的PS。
话不多说
简单实现一下

# -*- encoding: utf-8 -*-# 图像处理
# 导如科学计算库
import numpy as np
# 导入画图库
from PIL import Image# 封装一个工具类
class TestNumpy(object):# 定义方法 传一个图片地址def photo2paint(self, img_url):# 读图。矩阵化。转到内存 my_photo = np.asarray(Image.open(img_url).convert('L')).astype('float') # 像素化conventprint(f'查看有没有读取出来:{my_photo.shape}')print(f'查看图片矩阵大小:{my_photo.size}')# 设置灰度阈(yu)值 范围是(0-100是固定值)预估一下depth = 13# 将灰度系数映射到numpygrad = np.gradient(my_photo)# 获取坐标 分别返回俩个值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# 灰度光源设置# 基本写固定写法vec_el = np.pi/2.2 # 光源角度vec_az = np.pi/4 # 弧度值# 设置x轴和y轴dx = np.cos(vec_el) * np.cos(vec_az)dy = np.cos(vec_el) * np.sin(vec_az)#设置z轴dz = np.sin(vec_el)# 设置贝塔值b = 255 * (dx*uni_x + dy*uni_y + dz*uni_z)# 光源归一化b = b.clip(0,255)# 声明图像类对象im = Image.fromarray(b.astype('uint8'))# 保存图像,生成新图像im.save('./timg_new.jpg')if __name__ == "__main__":# 实例化对象testnumpy = TestNumpy()# 载入要处理的图像testnumpy.photo2paint('test.jpg')

python模拟ps中的素描工具相关推荐

  1. 使用Python模拟武侠小说中两派人的一场遭遇战。

    使用Python模拟武侠小说中两派人的一场遭遇战. 每个人都有名字.血量(HP) .一系列技能及技能对应的攻击输出.每个人的攻击方式均一致,即随机从自己的技能包中抽取一个技能进行攻击.两派人(自己命名 ...

  2. 讲解ps中使用切片工具,进行图标的批量切割

    在做设计开发中我们经常会用到图片,但是很多图片的大小和属性以及效果是需要我们去做些改变的,这就少不了使用ps,今天主要介绍下ps中的切片工具. 1)        在网页中,需要切片的内容: (1) ...

  3. 软件开发如何打开ps中的主体工具

    软件开发如何打开ps中的主体工具 1.打开PS软件. 2.点击[快速选择工具]. 3.在属性栏中就可以看到"选择主体". 推荐教程:ps教程 以上就是如何打开ps中的主体工具的详细 ...

  4. python模拟用户压力测试_Python 工具 Locust 进行负载测试

    Locust 是一个用 Python 编写的开源的负载测试工具. 它允许您针对模拟用户行为的 Web 应用程序编写测试,然后按规模运行测试以帮助查找瓶颈或其他性能问题. 安装 安装是使用 Python ...

  5. mac中如何在PS中使用Cutterman工具快速切图

    简介 cutterman是安装在PS软件中的一款智能自动切图插件,用法简单方便,很受设计者们喜欢,导出的图片格式有多种选择,而且还可以针对不同机型选择如苹果系统.安卓系统或电脑端使用. 工具/原料 P ...

  6. 如何用切片工具做html网页,ps中的切片工具怎么用,怎么将html文本添加到切片...

    显示切片选项对话框 执行下列操作之一: 使用切片选择工具 双击切片.(如果该工具未显示,请按住"裁剪"或"切片"工具). 如果切片选择工具是现用的,则单击选项栏 ...

  7. python调用sqlldr_oracle中的SQLLDR工具使用

    这个工具可以批量导入数据,具体使用方法如下: 用法: SQLLDR keyword=value [,keyword=value,...] 有效的关键字: userid -- ORACLE 用户名/口令 ...

  8. 深度剖析:PS中的3大类调色功能。

    1.怎么做好调色? 从我开公众号开始以及在其他的社交平台上,问我后期最多的就是关于调色的问题.并且大家最喜欢问的就是"这个风格怎么调?这个图片怎么做出来的?" 这个问题完全可以写一 ...

  9. PS学习记录111111--如何在PS中创建一个干净的网页布局

    作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,"熟读唐诗三百首,不会作诗也会吟". 1111111111111111111111 ...

最新文章

  1. B站讲演 | 我为什么要做科普视频?
  2. 从RocketMQ看长轮询(Long Polling)
  3. Windows内存管理学习笔记(一)—— 线性地址的管理
  4. 当一个美术生开始在腾讯撸代码… |「递归」第1集
  5. 数据库 数据库SQL语句五
  6. 深扒支点的梦起与破灭-千氪
  7. Java(4)---Java 对象和类
  8. 淘宝购物车分享上线第一天:630万人在用购物车社交
  9. 常用算法一(分治算法)
  10. 古代的政令 —— 两汉均输
  11. 怎样做好域名防红_微信域名防拦截的工作
  12. 自己动手搭建免费VoIP服务器
  13. 利用Fiddler作为网络代理
  14. html页面内容的收缩和展开效果,jquery简单实现网页层的展开与收缩效果
  15. c语言编程if语句的用法,c语言if语句的用法有哪些
  16. 基于FPGA打地鼠游戏的设计与实现
  17. pid倒立摆matlab,基于MATLAB的直线一级倒立摆的PID控制研究
  18. 湖南师范大学2021年3月25日蓝桥杯热身赛解题报告与标程
  19. 二进制炸弹——拆弹实验
  20. Flutter获取网络图片:The following SocketException was thrown resolving an image codec:

热门文章

  1. 手把手教学三子棋(井字棋)
  2. 大学英语计算机my dream 150,大学英语作文范文(全)
  3. 【实战】Unity3d实战之Unity3d网络游戏实战篇(9):协议
  4. ccna出来能做什么_CCNA的完整形式是什么?
  5. 论准备的重要性——常德两天调研生活
  6. LED点阵屏“鬼影”现象的分析和解决
  7. 开源一款超级好用的mp3剪切器app
  8. flume-kafka环境搭建-mac单机模式
  9. windows不安装wifi共享软件实现wifi共享
  10. mysql routeros_转-RouterOS流量控制方案