https://www.jb51.net/article/155342.htm
写在最前面:
我在研究机器学习的过程中,给的数据集是手写数字图片被处理后的由0,1表达的txt文件,今天写一写关于图片转化为二进制txt文件的python实践
在这里,我们使用python中的Pillow库,Pillow库中有一个很重要的类是Image,可以对图片进行很多处理。
首先,导入Image类
1
|
from
PIL
import
Image
|
打开图片
1
|
im
=
Image.
open
(
'1.jpg'
)
|
获取图片宽和高
1
2
|
width
=
im.size[
0
]
height
=
im.size[
1
]
|
也可以这样
1
|
width,height
=
image_file.size
|
打开文件
1
|
fh
=
open
(
'1.txt'
,
'w'
)
|
然后我们对图像的像素进行处理
获取每个像素点的像素值,这是一个三元元组
1
|
<
class
'tuple'
>
|
大家都知道,像素是由红、绿、蓝三色构成,每个的值0-255,当三色灰度都为0的时候,颜色为黑色,都为255是白色。利用这个特性,我们将三个值相加,如果是黑色,全部写1,其余颜色一律为0。
1
2
3
4
5
6
7
8
9
10
11
|
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图片转为二进制文本的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。