mirror of
https://github.com/luzhisheng/js_reverse.git
synced 2025-04-21 00:25:09 +08:00
猿人学第8题-验证码图文点选
This commit is contained in:
parent
bc47f29271
commit
702367c7d4
@ -15,19 +15,22 @@ def turn_white(img, r1, g1, b1):
|
|||||||
def processing_image(img_file, standard=205):
|
def processing_image(img_file, standard=205):
|
||||||
""" 1.将图片进行降噪处理, 通过二值化去掉后面的背景色并加深文字对比度 """
|
""" 1.将图片进行降噪处理, 通过二值化去掉后面的背景色并加深文字对比度 """
|
||||||
img = Image.open(img_file)
|
img = Image.open(img_file)
|
||||||
# for i in range(img.size[0]):
|
# colors所有像素rgb值,counts对应的数量
|
||||||
# for j in range(img.size[1]):
|
|
||||||
# r, g, b = img.getpixel((i, j))
|
|
||||||
# print([r, g, b])
|
|
||||||
|
|
||||||
|
|
||||||
# np.unique()该函数是去除数组中的重复数字,并进行排序之后输出,这里返回的是所有像素rgb值,以及对应的数量
|
|
||||||
colors, counts = np.unique(np.array(img).reshape(-1, 3), axis=0, return_counts=True)
|
colors, counts = np.unique(np.array(img).reshape(-1, 3), axis=0, return_counts=True)
|
||||||
print(colors, counts)
|
# 排序
|
||||||
# ct = np.sort(counts)
|
ct = np.sort(counts)
|
||||||
# top2_counts = ct[-2:].tolist()
|
# 找到出现最多的2种颜色的个数
|
||||||
# print(np.array(im).reshape(-1, 3))
|
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
|
return img
|
||||||
|
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 27 KiB |
Loading…
x
Reference in New Issue
Block a user