from PIL import Image,ImageFilter,ImageOps

img = Image.open( 'D:\\01.jpg')

def dodge(a, b, alpha):

return min(int(a*255/ (256- -b*alpha)), 255)

def draw(img, blur=25, alpha=1.0):

img1 = img. convert('L')#图片转换成灰色

img2 = img1.copy()

img2 = ImageOps.invert(img2)

for i in range(blur): #模糊度

img2 = img2.filter(ImageFilter.BLUR)

width, height = img1.size

for x in range (width):

for y in range(height):

a = img1.getpixel((x,y))

b = img2.getpixel((x,y))

img1.putpixel((x,y), dodge(a, b, alpha))

img1.show()

img1.save( 'D:\\02.jpg')

draw(img)

代码就这么几行~

PS:这里的模糊度不高,所以手绘效果不好,可以根据自己需要调整哦~

python照片转手绘_python中如何将照片手绘化?相关推荐

  1. python库怎么绘画_python中的turtle库(图形绘画库)

    turtle绘图的基础知识: 1. 画布(canvas) 画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置. 设置画布大小 turtle.screensize(canvwid ...

  2. python turtle库绘画_python中的turtle库(图形绘画库)

    turtle绘图的基础知识: 1. 画布(canvas) 画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置. 设置画布大小 turtle.screensize(canvwid ...

  3. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  4. 手绘如何学?零基础手绘教程

    手绘如何学?零基础手绘教程.零基础想学习动漫手绘,不需要什么工具,你只需要买一本素描纸,一本素描的书以及一支铅笔,就可以照着课本开始练习了.当然如果觉得枯燥无味,可以买一本动漫教程的书,在练习素描基础 ...

  5. 游戏原画设计分为两个岗位:角色原画设计和场景原画设计;3D建模分为四个岗位:手绘低模3D角色、手绘低模3D场景、次世代角色高模和次世代场景高模。游戏原画好比是楼房的设计图纸,而游戏建模就是楼房支架。2

    游戏原画设计分为两个岗位:角色原画设计和场景原画设计:3D建模分为四个岗位:手绘低模3D角色.手绘低模3D场景.次世代角色高模和次世代场景高模.游戏原画好比是楼房的设计图纸,而游戏建模就是楼房支架.2 ...

  6. python决策树 多分类_Python中的决策树分类:您需要了解的一切

    python决策树 多分类 什么是决策树? (What is Decision Tree?) A decision tree is a decision support tool that uses ...

  7. python基础知识测试题_Python中的单元测试—基础知识

    python基础知识测试题 Unit testing is the number one skill which separates people who just finished their de ...

  8. python导入图片数据_Python中读取图片的6种方式

    Python进行图片处理,第一步就是读取图片,这里给大家整理了6种图片的读取方式,并将读取的图片装换成numpy.ndarray()格式.首先需要准备一张照片,假如你有女朋友的话,可以用女朋友的,没有 ...

  9. python数据库模糊查询_python中数据库like模糊查询方式

    python中数据库like模糊查询方式 在Python中%是一个格式化字符,所以如果需要使用%则需要写成%%. 将在Python中执行的sql语句改为: sql = "SELECT * F ...

最新文章

  1. 进程通信学习笔记(System V消息队列)
  2. Java与ElasticSerach的整合
  3. Kubernetes——基本概念与理论
  4. 【渝粤教育】国家开放大学2018年春季 0269-22T文学概论 参考试题
  5. 程序自删除方法大总结
  6. 动态网页开发技术(三):jsp
  7. 简单 Proxy 自动提款机应用
  8. stats | 介绍三个与数学规划函数
  9. 903计算机技术综合基础,北大903计算机技术综合基础考研真题、资料、参考书
  10. 如何使用JavaScript替换DOM元素?
  11. 51单片机按键:短按,长按,按下执行松开停止
  12. 基于BP神经网络算法的实现静态图片和视频人脸识别、性别识别
  13. 贝格尔编排法-java
  14. Seneca :NodeJS 微服务框架入门指南
  15. bootstrapinput传参数_***文件上传控件bootstrap-fileinput的使用和参数配置说明
  16. C/C++嵌入BS架构的页面
  17. 手机测试用例-wap测试用例
  18. 终于解决大众点评的字体反爬了!
  19. 机器学习 基本概念/术语
  20. ORACLE 数据库日常巡检

热门文章

  1. 在C#中调用Win32函数EnumWindows枚举所有窗口。
  2. Vscode黑色主题很难看到鼠标
  3. Chrome 开小号方法
  4. 程序员、互联网从业者必读KK凯文凯利三大力作之《失控》总结
  5. 德勤2020技术趋势报告 | 洞察5大重点趋势和12种宏观科技力量
  6. threejs 草场足球运动视角(三)
  7. 数字孪生电梯模型构建方案
  8. web————http(报文详解篇)
  9. dokuwiki使用教程--创建页面和命名空间
  10. USB运动控制 (五轴雕刻机系统)全部开源 不保留任何关键技术