本文实例为大家分享了Python将图片彩色转化为素描的具体代码,供大家参考,具体内容如下

第一种:

from PIL import Image, ImageFilter, ImageOps

img = Image.open('E:\\picture\\1.png')

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('E:\\picture\\10.png')

draw(img)

第二种:

from PIL import Image

import os

# 图像组成:红绿蓝 (RGB)三原色组成 亮度(255,255,255)

image = "E:\\picture\\123.png"

img = Image.open(image)

img_all = "E:\\picture\\1234.png"

new = Image.new("L", img.size, 255)

width, height = img.size

img = img.convert("L")

# print(img.size)

# print(img.mode) #RBG

#

# img_get = img.getpixel((0, 0))

# print(img_get) #三原色通道

#

# img_L=img.convert('L')

# print(img_L)

# img_get_L=img_L.getpixel((0,0)) #换算 得到灰度值

# print(img_get_L)

# 定义画笔的大小

Pen_size = 3

# 色差扩散器

Color_Diff = 6

for i in range(Pen_size + 1, width - Pen_size - 1):

for j in range(Pen_size + 1, height - Pen_size - 1):

# 原始的颜色

originalColor = 255

lcolor = sum([img.getpixel((i - r, j)) for r in range(Pen_size)]) // Pen_size

rcolor = sum([img.getpixel((i + r, j)) for r in range(Pen_size)]) // Pen_size

# 通道----颜料

if abs(lcolor - rcolor) > Color_Diff:

originalColor -= (255 - img.getpixel((i, j))) // 4

new.putpixel((i, j), originalColor)

ucolor = sum([img.getpixel((i, j - r)) for r in range(Pen_size)]) // Pen_size

dcolor = sum([img.getpixel((i, j + r)) for r in range(Pen_size)]) // Pen_size

# 通道----颜料

if abs(ucolor - dcolor) > Color_Diff:

originalColor -= (255 - img.getpixel((i, j))) // 4

new.putpixel((i, j), originalColor)

acolor = sum([img.getpixel((i - r, j - r)) for r in range(Pen_size)]) // Pen_size

bcolor = sum([img.getpixel((i + r, j + r)) for r in range(Pen_size)]) // Pen_size

# 通道----颜料

if abs(acolor - bcolor) > Color_Diff:

originalColor -= (255 - img.getpixel((i, j))) // 4

new.putpixel((i, j), originalColor)

qcolor = sum([img.getpixel((i + r, j - r)) for r in range(Pen_size)]) // Pen_size

wcolor = sum([img.getpixel((i - r, j + r)) for r in range(Pen_size)]) // Pen_size

# 通道----颜料

if abs(qcolor - wcolor) > Color_Diff:

originalColor -= (255 - img.getpixel((i, j))) // 4

new.putpixel((i, j), originalColor)

new.save(img_all)

i = os.system('mshta vbscript createobject("sapi.spvoice").speak("%s")(window.close)' % '您的图片转换好了')

os.system(img_all)

如果报错

可以直接安装

命令pip install Pillow即可

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python 人像素描_python实现图片彩色转化为素描相关推荐

  1. python照片转素描_python实现图片彩色转化为素描

    本文实例为大家分享了Python将图片彩色转化为素描的具体代码,供大家参考,具体内容如下 第一种: from PIL import Image, ImageFilter, ImageOps img = ...

  2. python照片转彩色手绘_python实现图片彩色转化为素描

    本文实例为大家分享了Python将图片彩色转化为素描的具体代码,供大家参考,具体内容如下 第一种: from PIL import Image, ImageFilter, ImageOps img = ...

  3. Python将图片彩色转化为素描

    第一种: from PIL import Image, ImageFilter, ImageOps img = Image.open('E:\\picture\\1.png') def dodge(a ...

  4. python人像绘制_python实现人像动漫化的示例代码

    利用百度api实现人像动漫化 百度API地址:https://ai.baidu.com/tech/imageprocess/selfie_anime 技术文档:https://ai.baidu.com ...

  5. python照片转素描_python实现图片转素描效果代码

    python实现图片转素描效果代码,代码如下: # -*- coding:utf-8 -*- import cv2 import numpy as np from tkinter import fil ...

  6. python怎么编辑图片_python读取图片并修改格式与大小的方法

    本文实例为大家分享了python读取图片并修改文件大小的具体代码,供大家参考,具体内容如下 # Author:NDK # -*- coding:utf-8 -*- from PIL import Im ...

  7. 用python读取图像_Python读取图片属性信息的实现方法

    本文是利用Python脚本读取图片信息,有几个说明如下: 1.没有实现错误处理 2.没有读取所有信息,大概只有 GPS 信息.图片分辨率.图片像素.设备商.拍摄设备等 3.简单修改后应该能实现暴力修改 ...

  8. python 图像分析 边框_Python 去除图片纯色边框(qbit)

    前言Windows 10 2004 Python 3.8.3 Pillow 7.1.2 ImageMagick 7.0.10除了 Pillow 以外,qbit 还尝试了 skimage 和 openc ...

  9. python 切割图_python切割图片的示例

    这个小程序可以自己设定行数和列数进行图片切割 import os from PIL import Image def splitimage(src, rownum, colnum, dstpath): ...

最新文章

  1. php随机跳转,Nginx实现404页面跳转到任意随机页面
  2. linux中daemonize用法,daemonize Unix系统后台守护进程管理软件
  3. Linux双机热备解决方案之Heartbeat
  4. 前端进阶-Event
  5. $(document).scrollTop()与$(window).scrollTop()
  6. Easyui+Spring+Mybatis完整示例(后台)
  7. 11. 给 apache ,nginx 设置变量
  8. 六、Linux企业级YUM软件管理
  9. 职中心得体会300字高一计算机,职高毕业生自我鉴定范文300字
  10. 程序设计C 实验六 结构体 题目四 偷菜时间表
  11. 微信微粒贷开通什么条件?微粒贷开通方法及流程
  12. MySQL 报OperationalError: (1130, “XX‘ is not allowed to connect to this MySQL server“)的正确解决方法
  13. ts定义数组类型_ts基本类型
  14. JPA中could not insert: 的解决办法
  15. Hadoop Java对应版本号
  16. [转载]Cairo 图形指南[转载]
  17. 2023年深圳技能大赛——大鹏新区潮式风味菜烹饪职业技能竞赛
  18. 95年计算机专业的电脑,电脑怀旧98年至今20多年买的第一台电脑配置
  19. Transformer主干网络——DeiT保姆级解析
  20. Android am与pm命令详解

热门文章

  1. Pioneer电源维修实践经验分享PM2675A-1-3
  2. vs登陆界面空白_20190806 退戈、临渊鱼儿、月照溪等作者新文完结|千金VS痞子|女扮男装...
  3. 公司组织结构图用PPT制作?
  4. 日语动词活用之未然形
  5. axure不能导出图片_Axure RP把原型图导出成图片格式的操作技巧
  6. setTimeout/setInterval与requestAnimationFrame的区别?
  7. python迭代器面试题_2018年最常见的Python面试题答案(下)
  8. 声学机器学习:理论和应用 (Machine learning in acoustics: Theory and applications)
  9. 阿里云备案流程(全新备案)
  10. 代码随想录算法训练营第二天 | LeetCode 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II