Python帮你完成美术作业——图片转灰度,字符画,素描手绘风格

Python图像处理——图片转黑白,字符画,手绘风

实现原理

用PIL,一个强大的python图像处理库。主要用到了Image。
终端下载命令:

pip install pillow

代码

自己在东方明珠上拍到的黄浦江是多么美丽!但想到这里就回忆起儿时画风景画苦不堪言的感觉,心想一定要写个程序帮自己完成美术作业。
原图

图片转黑白

最简单的一步,就是把彩色图片转为黑白图片。

from PIL import Image #导入PIL库

d = input("Img Directory:") #输入要处理的图片路径
img = Image.open(d).convert('LA') #直接处理
img.save('greyscale.png') #保存图片

怎么样?是不是很简单?
用了自己在东方明珠上拍到的黄浦江,下面是效果图:
处理后的图片

图片转ascii

会了简单的转黑白,试试更难的转ascii字符画。代码如下:

from PIL import Image #导入PIL  

#生成ascii图的宽度和高度。建议和原图比例类似。
WIDTH = 300
HEIGHT = 200
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")  #字符DPI(Dots Per Inch,每英寸点数)从高到低排序

#把彩色图转化为灰度图,然后将256个灰度映射到70个字符上  
def get_char(r, g, b, alpha=256): #R红G绿B蓝A透明度
    if alpha == 0:  #空白像素返回空格
        return ' '  
    length = len(ascii_char)  #
    gray = int(r*0.299 + g*0.587 + b*0.114) #计算灰度,3:6:1是比较靠谱的
    unit = (256.0+1)/length  
    return ascii_char[int(gray/unit)</
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EricFrenzy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值