python画⼈物代码_代码绘制⼀只⼩猪佩奇---python篇今天教⼤家⽤python的pillow包来绘制⼩猪佩奇,python的安装就不⽤多说了,直接上代码吧
0、⾸先当然是安装pillow包啦。
关于pillow库的安装有⼏种⽅式
最常使⽤的是pip安装
$ pip install pillow
2、通过pycharm安装
1、了解⼀下pillow库的基本使⽤
#导⼊模块
from PIL import Image
#读取⽂件
img = Image.open('test.jpg')
#保存⽂件
#img.save(filename,format)
img.save(filename,"JPEG")
img_mode = de
#图⽚模式的转换
img = vert("L") #转化成灰度图像
#获取每个坐标的像素点的RGB值
r,g,b = pixel((j,i))
#重设图⽚⼤⼩
img = size(width,height)
#创建缩略图
img.thumbnail(size)
#获取图⽚⼤⼩
python新手代码画图(width,height) = img.size
#获取图⽚的源格式
img_format = img.format
#获取图⽚模式,有三种模式:L(灰度图像),RGB(真彩⾊)和CMYK(pre-press图像)
2、开始绘画
⾸先是要有⼀张图⽚喽,准备⼀⼀张⼩猪佩奇的照⽚:
timg.jpg
然后就是放⼤招是时候了;
(原理简述:就是获取图上每⼀点的RGB值,然后根据这三种值确定这⼀点采⽤什么字符,其实根据R
GB来确定的交灰值,所以可以将图⽚转化成灰度图⽚,来直接获取每⼀点的灰度,或者通过灰度的转换公式来使得RGB三值转化成灰度当然了,深度的原理我也不太懂,这⾥有链接,有兴趣的可以看⼀下⼤神们的解释)
上代码:
#coding:utf-8
from PIL import Image
#要索引的字符列表
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
length = len(ascii_char)
img = Image.open('timg.jpg') #读取图像⽂件
(width,height) = img.size
img = size((int(width*0.5),int(height*0.2))) #对图像进⾏⼀定缩⼩,图⽚的⼤⼩可以根据上传图
⽚的⼤⼩来按需调节,
print(img.size)
def convert(img):
img = vert("L") # 转为灰度图像
txt = ""
for i in range(img.size[1]):
for j in range(img.size[0]):
gray = pixel((j, i)) # 获取每个坐标像素点的灰度
unit = 256.0 / length
txt += ascii_char[int(gray / unit)] #获取对应坐标的字符值
txt += '\n'
return txt
def convert1(img):
txt = ""
for i in range(img.size[1]):
for j in range(img.size[0]):
r,g,b = pixel((j, i)) #获取每个坐标像素点的rgb值
gray = int(r * 0.299 + g * 0.587 + b * 0.114) #通过灰度转换公式获取灰度
unit = (256.0+1)/length
txt += ascii_char[int(gray / unit)] # 获取对应坐标的字符值
txt += '\n'
return txt
txt = convert(img)
f = open("","w")
f.write(txt) #存储到⽂件中f.close()
然后上效果图
pig.png
还是蛮像的嘛,
over
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论