今天刚好学了Python的数据分析中的nupmy库,就写了个把图片转换成素描图片的Python脚本。
首先你的有Python的运行环境,那么我们就可以开始写了,我们可以用Python自带的IDLE也可以,不过的自己下载nupmy库和Image;我比较推荐用的是anaconda,这是做科学计算数据分析之类的Python编译环境,这里面的库比较齐全,不用自己去下载。
(1)安装工具(使用anaconda的可以跳过)
pip install pillowpip install numpy
(2)创建一个Python文件
将这段代码粘贴进去
from PIL import Imageimport numpy as npa = np.asarray(Image.open('a20.jpg').convert('L')).astype('float')depth=10.grad=np.gradient(a)grad_x,grad_y=gradgrad_x=grad_x*depth/100.grad_y=grad_y*depth/100.A=np.sqrt(grad_x**2+grad_y**2+1.)uni_y=grad_y/Auni_x=grad_x/Auni_z=1./Avec_el=np.pi/2.2vec_az=np.pi/4.dx=np.cos(vec_el)*np.cos(vec_az)dy=np.cos(vec_el)*np.cos(vec_az)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('a8.jpg')
注意:代码里面第三行的a20.jpg是你想转换成素描图片的图片,最后一行的a8.jpg是程序执行完导出的素描照片。(特别注意:图片和Python脚本必须放在同一个文件夹,如果需要转换的文件不和Python脚本在同一个文件夹的话那么第三行的图片位置就必须用绝对路径。)
那么就是下面这个样子得了
这是原文件的图片:
这个是执行Python脚本文件后的图片:
oj8k []~( ̄▽ ̄)~*
如果觉得《基于Python将图片转换成素描图片》对你有帮助,请点赞、收藏,并留下你的观点哦!