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圖片轉為二進制文本的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。