python烟花小程序_第一个有趣的python小程序

这篇博客是一位Python初学者的学习心得分享,通过一个简单的烟花小程序介绍如何使用Python的PIL库将图片转换为字符画。文章详细介绍了安装库、处理图片到灰度模式、保存图片以及字符替换的过程,鼓励读者动手实践。
摘要由CSDN通过智能技术生成

嘿嘿嘿!!!

我是只可耐的测试妹子,喜欢玩也喜欢学习,之前同事们建议我开通GitHub来记录学习心得以及项目代码,我也觉得很有必要!!so

最近在学习python,写了一个有趣的关于图片处理的程序,虽然很简单拙劣但是还是满满的开心,希望以后能经常在github上面记录关于学习的有趣事情!

so分割线||我要开始po这个简单有趣的程序了,了解程序请往下看:

首先打开cmd:

cmd 中pip install  pillow 安装这个图形处理库

打开pycharm新建项目 ImageToStr.py

from PIL import Image #引入图形处理包Image类

image_name = 'IMG_20180414_112918.jpg'#获取图片这里图片放入这个项目文件夹中

img = Image.open(image_name)#使用对象读取图片

img = img.convert('L')#图片转换成灰度模式 img.size img.mode img.show()获取图片大小 模式

img.save('图片名称') #保存该转换成灰度模式的图片

w, h = img.size  #获取缩放比例的图片

if w > 100:

h = int((100 / w) * h / 2)

w = 100

# 重置图片大小且为防止图片锯齿加一个滤镜

img=img.resize((w,h),Image.ANTIALIAS)

data=[]

# 替换字符的列表

chars=['',',','?','。','.','N','m']

# 根据图片的宽度和高度遍历像素点并取出每个像素点的颜色值

for i in range(0,h):

line=''

for j in range(0,w):

# 获取像素点的值

pi=img.getpixel((j,i))

# 用字符串替换像素点的颜色

for k in range(0,8):

if pi

line += chars[7-k]

break

data.append(line)#把所有数据一次循环存入data中

f=open(image_name+'.txt','w')#以写的方式新建并打开一个文本

for d in data:

print(d,file=f) 循环读取data数据并存入该文档

f.close()

img.show()

_____________________分割线!!!!!!!!!!

还可以对该零零散散的代码重构,把保存和获取字符写成函数然后调用整洁简单并且能重复利用,并且可以加入入口命令。

代码如下

from PIL import Image

def save(image_name,data):

f=open(image_name+'.txt','w')#以写的方式新建并打开一个文本

for d in data:

print(d,file=f) 循环读取data数据并存入该文档

f.close()

def get_chars(pi):

chars=['',',','?','。','.','N','m']

for k in range(0,8):

if pi

return chars[7-k]

if __name__=‘__main__’:

image_name = 'IMG_20180414_112918.jpg'#获取图片这里图片放入这个项目文件夹中

img = Image.open(image_name)#使用对象读取图片

img = img.convert('L')#图片转换成灰度模式 img.size img.mode img.show()获取图片大小 模式

img.save('图片名称') #保存该转换成灰度模式的图片

w, h = img.size  #获取缩放比例的图片

if w > 100:

h = int((100 / w) * h / 2)

w = 100

# 重置图片大小且为防止图片锯齿加一个滤镜

img=img.resize((w,h),Image.ANTIALIAS)

data=[]

# 替换字符的列表

# 根据图片的宽度和高度遍历像素点并取出每个像素点的颜色值

for i in range(0,h):

line=''

for j in range(0,w):

# 获取像素点的值

pi=img.getpixel((j,i))

# 用字符串替换像素点的颜色

for k in range(0,8):

if pi

line +=get_chars(pi)

break

data.append(line)#把所有数据一次循环存入data中

save(image_name,data)

酱紫就可以了,哇咔咔!!!

下面看看我处理过的图片效果吧:

 

是不是很有趣啊,快动手试试吧!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值