声明:
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
有相关问题请第一时间头像私信联系我删除博客!
前言
用了ddddocr和别人发的数据集。随便测了一下,腾讯图标点选每次都有一个关键的坐标是ddddocr识别不了的所以要提高成功还得自己动手进行标注数据集。孪生部分就比较简单我就不展开说说一下解决思路。这里不解释collect的处理和滑块一样之前已经弄了两篇博客了。
腾讯图标点选分析
切割图片识别坐标
def recognize():
with open("1.png", 'rb') as f:
image = f.read()
bboxes = det.detection(image)
print(bboxes)
im = cv2.imread("1.png")
idx = 1
for bbox in bboxes:
x1, y1, x2, y2 = bbox
im = cv2.rectangle(im, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=2)
# 裁剪出小图标
cropped_icon = im[y1:y2, x1:x2]
# 保存裁剪后的图标
cv2.imwrite(f"./icons/icon_{idx}.png", cropped_icon) # 使用bbox作为文件名的一部分以区分图标
idx += 1
cv2.imwrite("result.jpg", im)
孪生部分解决后通过一个笛卡尔积进行最佳匹配。我这用到了选择排序原理取最大值。
combine=[]
max_score = 0
for i in range(len(os.listdir(target_path))):
max_score=0
for j in range(len(os.listdir(icons_path))):
xsd = getdata(f'./target/{i+1}.png', f'./icons/icon_{j+1}.png')
if max_score<xsd:
max_score=xsd
idx=j+1
combine.append([i+1, idx])
结果




















