python画黑白线条_基于python的彩色图片转素描和黑白

1.转黑白

a1e75fabcba8?from=timeline&isappinstalled=0

转黑白代码

2.转素描

from PILimport Image

import os

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

image= "m.jpg"

img= Image.open(image)

img_all= "素描" + image

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

width, height= img.size

img= img.convert("L")

# 定义画笔的大小

Pen_size= 3

# 色差扩散器

Color_Diff= 10

for iin range(Pen_size+ 1, width- Pen_size- 1):

for jin range(Pen_size+ 1, height- Pen_size- 1):

# 原始的颜色

originalColor= 255

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

rcolor= sum([img.getpixel((i+ r, j))for rin 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 rin range(Pen_size)])// Pen_size

dcolor= sum([img.getpixel((i, j+ r))for rin 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 rin range(Pen_size)])// Pen_size

bcolor= sum([img.getpixel((i+ r, j+ r))for rin 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 rin range(Pen_size)])// Pen_size

wcolor= sum([img.getpixel((i- r, j+ r))for rin 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)

a1e75fabcba8?from=timeline&isappinstalled=0

转换效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值