效果展示原图素描效果图相关依赖包#超美打印库frompprintimportpprint#图像处理库fromPILimportImage#科学计算库importnumpyasnp#GUI文件打开窗口importtkinter.filedialogMakefileopenwindow#创建根窗口root=tkinter.Tk().withdraw()#文件选择对话窗口,返回Fileobjectfile_=tkinter.filedialog.askopenfilename()pprint("1.原图读取成功")草图图像转换#添加异常处理try:#定义颜色深度(0~100,值越大,颜色越深)color)depth=20#获取照片灰度的渐变值image_grad=np.gradient(np.asarray(Image.open(file_).convert('L')).astype('int'))pprint("2.获取图像的梯度值成功")#Obta分别在X和Y方向的梯度值,然后用颜色深度处理grad_x,grad_y=image_grad[0]*depth/100.,image_grad[1]*depth/100.pprint("3,色深处理成功")#base_去噪base_=np.sqrt(grad_x**2+grad_y**2+1.)a,b,c=grad_x/base_,grad_y/base_,1./base_#视角光源的值和方位角值sce_z,sce_x=np.pi/2.1,np.pi/3#光源对x,y,z轴的影响dx,dy,dz=np.cos(sce_z)*np.cos(sce_x),np.cos(sce_z)*np.sin(sce_x),np.sin(sce_z)#光源归一化Normalized=255*(dx*a+dy*b+dz*c).clip(0,255)pprint("4.光源处理成功")#重构图像img=Image.fromarray(Normalized.astype('uint8'))pprint("5.图片重建成功")#保存转换后的图片img.save('sketch.jpg')pprint("6.保存转换后的图片成功")exception:print('抱歉,图片转换失败!')exe文件包-F参数代表包文件,trans_image.py为自己的.py文件路径本文由微信公众号【python集中营】发布,更多精彩文章视频资料可获取!
