将python图片转为二进制文本的实例

yipeiwu_com5年前Python基础

写在最前面:

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

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

首先,导入Image类

from PIL import Image 

打开图片

im=Image.open('1.jpg')

获取图片宽和高

width=im.size[0]
height=im.size[1]

也可以这样

width,height=image_file.size

打开文件

fh=open('1.txt','w')

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

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

<class 'tuple'>

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

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()

看下效果图:

python图片转为二进制文本

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

以上这篇将python图片转为二进制文本的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python线程、进程和协程详解

引言 解释器环境:python3.5.1 我们都知道python网络编程的两大必学模块socket和socketserver,其中的socketserver是一个支持IO多路复用和多...

基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能

基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能

描述:使用QtDesignner设计界面,pyQt5+python3实现主体方法制作的猜数字游戏。 游戏规则:先选择游戏等级:初级、中级、高级、魔鬼级,选择完游戏等级后点击“确定”,然后...

在NumPy中创建空数组/矩阵的方法

如何在NumPy中创建空数组/矩阵? 在添加行的情况下,你最好的选择是创建一个与数据集最终一样大的数组,然后向它添加数据 row-by-row: >>> impo...

python smtplib模块自动收发邮件功能(二)

python smtplib模块自动收发邮件功能(二)

接上篇python smtplib模块自动收发邮件功能(一) ,用python smtplib模块实现了发送邮件程序了,那么接下来我们需要现在要解决的问题如何在 test_report\...

django框架模板中定义变量(set variable in django template)的方法分析

本文实例讲述了django框架模板中定义变量的方法。分享给大家供大家参考,具体如下: 总有一些情况,你会想在django template中设置临时变量,但是django 对在模板中对临...