使用numpy 和 PIL 手绘效果

Posted modiqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用numpy 和 PIL 手绘效果相关的知识,希望对你有一定的参考价值。

其中出现了一个错误:

SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes 

技术图片

 

 解决办法:

在路径前加 ‘r’

原因:在Python中  是转义符,u表示其后是UNICODE编码,因此User在这里会报错,在字符串前面加个 r(rawstring  原生字符串),可以避免python与正则表达式语法的冲突!

参考:https://blog.csdn.net/qq_28286027/article/details/92759470

技术图片
 1 from PIL import Image
 2 import numpy as np
 3 el=np.pi/2.2
 4 az=np.pi/4
 5 depth=10
 6 im=np.array(Image.open(rC:UserslenovoDesktop壁纸呗梦源系列 片尾03.png).convert(L))
 7 a=np.asarray(im).astype(float)
 8 grad = np.gradient(a)
 9 grad_x,grad_y = grad
10 grad_x = grad_x*depth/100
11 grad_y = grad_y*depth/100
12 dx=np.cos(el)*np.cos(az)
13 dy=np.cos(el)*np.sin(az)
14 dz=np.sin(el)
15 A=np.sqrt(grad_x**2+grad_y**2+1.0)
16 uni_x=grad_x/A
17 uni_y=grad_y/A
18 uni_z=1.0/A
19 a2=255*(dx*uni_x+dy*uni_y+dz*uni_z)
20 a2=a2.clip(0,255)
21 im2=Image.fromarray(a2.astype(uint8))
22 im2.save(rC:UserslenovoDesktop壁纸呗hand drawn of mengyuan03.png)
View Code

技术图片技术图片

 

以上是关于使用numpy 和 PIL 手绘效果的主要内容,如果未能解决你的问题,请参考以下文章

Python——图像手绘效果

数据分析与展示--图像的手绘效果(实例)

Python应用实战-Python五个实用的图像处理场景

PIL打开图像的numpy数组中的元素数量错误

PIL图片剪裁

PIL.Image.fromarray() 和 numpy.asarray()