您的位置:首页 > 编程语言 > Python开发

python图片转为二进制文本

2018-11-06 00:05 106 查看
版权声明:本文为博主原创文章,未经允许,不得转载,如需转载请注明出处 https://blog.csdn.net/ssjdoudou/article/details/83758980

写在最前面:

我在研究机器学习的过程中,给的数据集是手写数字图片被处理后的由0,1表达的txt文件,今天写一写关于图片转化为二进制txt文件的python实践

在这里,我们使用python中的Pillow库,Pillow库中有一个很重要的类是Image,可以对图片进行很多处理。

首先,导入Image类

[code]from PIL import Image

打开图片

[code]im=Image.open('1.jpg')
[code]获取图片宽和高
[code]width=im.size[0]
height=im.size[1]

也可以这样

[code]width,height=image_file.size

打开文件

[code]fh=open('1.txt','w')

 

然后我们对图像的像素进行处理

获取每个像素点的像素值,这是一个三元元组

[code]<class 'tuple'>

大家都知道,像素是由红、绿、蓝三色构成,每个的值0-255,当三色灰度都为0的时候,颜色为黑色,都为255是白色。利用这个特性,我们将三个值相加,如果是黑色,全部写1,其余颜色一律为0。

[code]for i in range(height):
for j in range(width):
#获取像素点颜色
color=im.getpixel((j,i))
colorsum=color[0]+color[1]+color[2]
if(colorsum == 0):
fh.write('1')
else:
fh.write('0')
fh.write('\n')
fh.close()

 看下效果图:

网上找的图片的处理效果都不好,这个是文本编辑打出来的,效果明显一点,反正就一个很简单的处理过程,晚安各位。

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: