猿人学第8题-验证码图文点选

This commit is contained in:
luzhisheng 2023-06-25 00:41:47 +08:00
parent bc47f29271
commit 702367c7d4
2 changed files with 16 additions and 13 deletions

View File

@ -15,19 +15,22 @@ def turn_white(img, r1, g1, b1):
def processing_image(img_file, standard=205):
""" 1.将图片进行降噪处理, 通过二值化去掉后面的背景色并加深文字对比度 """
img = Image.open(img_file)
# for i in range(img.size[0]):
# for j in range(img.size[1]):
# r, g, b = img.getpixel((i, j))
# print([r, g, b])
# np.unique()该函数是去除数组中的重复数字并进行排序之后输出这里返回的是所有像素rgb值以及对应的数量
# colors所有像素rgb值counts对应的数量
colors, counts = np.unique(np.array(img).reshape(-1, 3), axis=0, return_counts=True)
print(colors, counts)
# ct = np.sort(counts)
# top2_counts = ct[-2:].tolist()
# print(np.array(im).reshape(-1, 3))
# 排序
ct = np.sort(counts)
# 找到出现最多的2种颜色的个数
top2_counts = ct[-2:].tolist()
# 找到出现最多的2种颜色的下标
subscript_list = []
for k, v in list(enumerate(counts, start=0)):
if v in top2_counts:
subscript_list.append(k)
# 找到出现最多的2种颜色的rgb值
for subscript in subscript_list:
color = colors[subscript]
# 去除颜色
turn_white(img, color[0], color[1], color[2])
return img

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 27 KiB