em........

from PIL import Image
im = Image.open('dtk.bmp')
pix = im.load()
#==================================================================================
#功能:判断一个像素的RGB颜色是否被填涂,若被填涂返回True,否则返回False
#参数:r, g, b为一个像素的RGB颜色值
def judge_pix(r, g, b):
gray = 0.299 * r + 0.587 * g + 0.114 * b
return gray < 132
#功能:判断一个信息点是否被前途,若被填涂返回True,否则返回False
#参数:x, y为该信息点左上角像素的位置信息
def judge_rec(x, y):
w = 26
h = 11
cnt = 0
for i in range(x, x + w):
for j in range(y, y + h):
r, g, b = pix[i, j]
if judge_pix(r, g, b):
cnt += 1
return cnt / (w * h) > 0.64
#功能:传入一列第一个信息点左上角像素位置信息,返回该列填涂的数值
#参数:x, y为该列第一个信息点左上角像素位置信息
def judge_col(x, y):
y_span = 28
kh = -1
for i in range(10):
if judge_rec(x, y + i * y_span):
kh = i
return kh
#====================================================================================
#设置第一列第一个信息点左上角位置信息
x0 = 10
y0 = 96
x_span = 41 #两个横向相邻信息点的间距
#补充实现后续代码
for i in range(9):
print(judge_col(x0 + i * x_span, y0), end = " ")