今天小编闲来无事,在CSDN上学会了如何用Python将照片转换为手绘图片,相信还有很多的盆友不知道如何去实现,因此,小编将代码(借鉴了不少大佬的代码)分享出来,希望大家借鉴参考,如有错误,也希望大家予以指正(毕竟小编也是个小白鸭)。
先导入PIL的Image库和numpy库:

from PIL import Image
import numpy as np

调出图片并转换为灰度图:

im1 = Image.open("GXH.jpg").convert('L')
a = np.asarray(im1).astype('float')# 也可改为a = np.asarray(Image.open('GXH.jpg').convert('L')).astype(float)

获取图片的梯度值,并修改调节到想要得到的效果:

grad = np.gradient(a)             #或取图像的梯度值
grad_x,grad_y=grad                #分别取纵横梯度值
grad_x = grad_x*depth/40.        #调节得到想得到的效果
grad_y = grad_y*depth/40.        #调节得到想得到的效果

了解光源俯视、方位角度的:

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.cos(vec_az)#对光源Y轴的影响
dz = np.sin(vec_el)               #对光源Z轴的影响
A = np.sqrt(grad_x**2+grad_y**2+1.)
uni_x = grad_x/A
uni_y = grad_y/A
uni_z = 1./A
a2 = 255*(dx*uni_x+dy*uni_y+dz*uni_z) #光源归一化

重新构造图片:

a2 = a2.clip(0,255)
im2 = Image.fromarray(a2.astype('uint8')) #重新构造图片

保存图片:

im2.save('GXH2.jpg') #改名保存

OK,代码详解到现在就结束了,现在随便找一张图片来看看效果!(完整的代码放在文末)
这是小编秋游时拍的照片,现在将它变成手绘版!效果还是可以的,如果有小伙伴不满意的话,可以修改数值进行调整。

这里是完整的代码:

from PIL import Image
import numpy as npvec_el = np.pi/2.2  #光源俯视角度
vec_az = np.pi/4.   #光源方位角度
depth = 10.
im1 = Image.open("TREE.jpg").convert('L')
a = np.asarray(im1).astype('float') #  可改为a = np.asarray(Image.open('TREE.jpg').convert('L')).astype(float)
grad = np.gradient(a)             #或取图像的梯度值
grad_x,grad_y=grad                #分别取纵横梯度值
grad_x = grad_x*depth/40.        #调节得到想得到的效果
grad_y = grad_y*depth/40.        #调节得到想得到的效果
dx = np.cos(vec_el)*np.cos(vec_az)#对光源X轴的影响
dy = np.cos(vec_el)*np.cos(vec_az)#对光源Y轴的影响
dz = np.sin(vec_el)               #对光源Z轴的影响
A = np.sqrt(grad_x**2+grad_y**2+1.)
uni_x = grad_x/A
uni_y = grad_y/A
uni_z = 1./A
a2 = 255*(dx*uni_x+dy*uni_y+dz*uni_z) #光源归一化
a2 = a2.clip(0,255)
im2 = Image.fromarray(a2.astype('uint8')) #重新构造图片
im2.save('TREE2.jpg') #改名保存

今后,只要小编学会了新的知识,小编就会第一时间更新到CSDN,希望大家一起学习一起努力吖!

如何用Python实现将照片转化为手绘图片相关推荐

  1. python将照片转换成手绘图片

    最近在b站学习数据分析时,看到了可以用numpy将照片转换成手绘效果.自己整上代码学习试了半天,调整了参数并看了效果.代码如下: # -*- coding: utf-8 -*- "" ...

  2. Python 图片转化为手绘

    #图片转化为手绘 from PIL import Image import numpy as np vec_e1 = np.pi / 2.2 vec_az = np.pi / 4 depth = 10 ...

  3. Photoshop照片一键转换手绘效果图动作

    不管你之前有没有接触过PS照片转手绘,有了这一个动作文件,可以帮助你10几秒钟把一张图片转化成手绘效果图风格.无须复杂繁琐的操作步骤,只需要画笔在图片上轻轻一抹,点击播放动作即可制作一张完美的手绘效果 ...

  4. 本周AI热点回顾:GAN压缩法使算力消耗不到1/9,开源生成器让你的照片秒变手绘日漫

    01 这个开源动漫生成器让你的照片秒变手绘日漫 尽管最近 2019 年的图灵奖颁给了计算机图形学.颁给了皮克斯 3D 动画,但很多人可能认为二维动漫更有意思一些.像宫崎骏.新海诚这些大师手绘下的动漫, ...

  5. 手绘线条图画机器人_怎么把照片转换成手绘图画?怎么加水印?

    怎么把照片转换成手绘图画?附讲加水印​mp.weixin.qq.com 先来个转换前后的对比图 手机下载美图秀秀(一定要用手机下载,电脑端没有绘画机器人功能). 点开美图秀秀后,在页面右下方点击&qu ...

  6. python樱花手绘_宫崎骏动画里的新垣结衣见过没?这个开源动漫生成器让你的照片秒变手绘日漫...

    机器之心报道 参与:肖清.思 随手拍张照片,顺势转换为宫崎骏.新海诚等日漫大师的手绘风格作品,这个专门生成动漫图像的 GAN,实测很好用. 机器之心根据真实店铺照片生成的效果图,一度以为,这就是某个日 ...

  7. 宫崎骏动画里的新垣结衣见过没?用Python做个开源动漫生成器让你的照片秒变手绘日漫~

    导语 随手拍张照片,顺势转换为宫崎骏.新海诚等日漫大师的手绘风格作品,这个专门生成动漫图像的 GAN,实测很好用. 如果有模型能将真实画面转化为日漫风格的手绘画面,那一定非常炫酷.最近机器之心发现确实 ...

  8. python樱花手绘_GitHub 硬核项目:动漫生成器让照片秒变手绘日漫风!!!

    根据真实店铺照片生成的效果图,一度以为,这就是某个日漫番剧的截图 本文转自:机器之心 随手拍张照片,顺势转换为宫崎骏.新海诚等日漫大师的手绘风格作品,这个专门生成动漫图像的 GAN,实测很好用. 尽管 ...

  9. python画名侦探柯南_【儿童节特辑】风格迁移——让你的照片秒变手绘日漫风

    写在前面 对于像我这样的小朋友来说(不接受反驳),动漫可是童年的记忆了,还记得<黑猫警长>.<葫芦七兄弟>等国产经典(一不小心,好像暴露年龄了),也还记得<千与千寻> ...

最新文章

  1. 未来几年,BCH超越BTC的路径是什么?
  2. python小工具myqr生成动态二维码
  3. python 计量_距离度量以及python实现(二)
  4. 【杂谈】如何在专家指导下系统性学习自然语言处理
  5. cmake + visual studio 配置出错的解决方法
  6. Virtual Machine Manager 2008 2008 R2系列之安装部署
  7. Faster R-CNN 深入理解 改进方法汇总
  8. superset 图标调整
  9. 平衡点 / 吊打XXX(洛谷-P1337)
  10. python set集合_玩转Python集合,这一篇就够了!
  11. css中hover的妙用!!
  12. Python之网络爬虫(selenium爬取动态网页、爬虫案例分析、哈希算法与RSA加密)
  13. 三星note10 android q,【极光ROM】-【三星NOTE10/NOTE10+/5G N97XX-9825】-【V6.0 Android-Q-TG1】...
  14. Python自学教程第2期-求100以内奇数和
  15. 自动化专业考研方向简介
  16. 腾讯刷屏!一季度狂赚478亿,员工人均月薪7.6万
  17. 云流化/云渲染技术一种比像素流功能更完善的解决方案
  18. php 1为false,false是1还是0
  19. oracle如何清理sys_lob,清理 oracle lobsegment | 学步园
  20. html5怎么插入psv,请问psv要怎么才能连接电脑进行文件传输?

热门文章

  1. H5调用iOS和安卓方法
  2. MATLAB同时录音播放,用matlab录音和放音
  3. 动态规划(二):矩阵连乘问题
  4. Javawebservlet+Mysql实现的化妆品售卖系统(功能包含分角色,登录/注册、化妆品列表/商品详情/加入购物车/订单结算付款/地址管理/后台权限管理/商品管理/订单列表等)
  5. iOS 13.0新特性
  6. 一款高颜值的Spring Boot快速开发框架,你用过没有
  7. 西安查询公交车,实时公交,线路查询
  8. Nodejs安装node_modules
  9. 换服务器网站会掉排名吗,网站换服务器对seo有影响吗,排名会有点小波动
  10. 考虑柔性负荷的综合能源系统低碳经济调度 综合能源系统(IES)逐渐成为实现减排目标的重要支撑技术