智能手机():
[color=]def
[color=]识图点击
(
[color=]self
[color=],
picture):
'''识图'''
d= u2.connect(
[color=]"AHPEBB1919001192"
)
#d = u2.connect(self.ip)
[color=]self
.日志(
[color=]'
[color=]即将开始识图点击
[color=]!'
)
[color=]def
[color=]matchImg
(imgsrc
[color=],
imgobj
[color=],
confidencevalue=
[color=]0.5
):
# imgsrc=
原始图像,
imgobj=
待查找的图片
imsrc = ac.imread(imgsrc)
imobj = ac.imread(imgobj)
confidence = confidencevalue
match_result = ac.find_template(imsrc
[color=],
imobj,
[color=]
confidence) #{'confidence': 0.5435812473297119, 'rectangle': ((394, 384), (394, 416), (450, 384), (450, 416)), 'result': (422.0, 400.0)}
[color=]if
match_result
[color=]is not None
:
match_result[
[color=]'shape'
] = (imsrc.shape[
[color=]1
]
[color=],
imsrc.shape[
[color=]0
])
# 0
为高,
1
为宽
match_result[
[color=]'shape'
] = (imobj.shape[
[color=]1
]
[color=],
imobj.shape[
[color=]0
])
# 0
为高,
1
为宽
match_result[
[color=]'px'
] = (match_result[
[color=]'rectangle'
][
[color=]0
][
[color=]0
] + imsrc.shape[
[color=]1
] /
[color=]2
) / imobj.shape[
[color=]1
]
[color=],
(
match_result[
[color=]'rectangle'
][
[color=]0
][
[color=]1
] + imsrc.shape[
[color=]0
] /
[color=]2
) / imobj.shape[
[color=]0
]
[color=]return
match_result
time.sleep(
[color=]3
)
[color=]try
:
#
截图
p = d.screenshot()
#
截图
p.save(
[color=]'./image/screenshot.png'
)
time.sleep(
[color=]3
)
ret = matchImg(
[color=]'./image/{name}.png'
.format(
[color=]name
=picture)
[color=],
[color=]'./image/screenshot.png'
)
d.click(ret[
[color=]'px'
][
[color=]0
]
[color=],
ret[
[color=]'px'
][
[color=]1
]) #
坐标 = (
[color=]round
(ret[
[color=]'px'
][
[color=]0
]
[color=],
[color=]2
)
[color=],
[color=]round
(ret[
[color=]'px'
][
[color=]1
]
[color=],
[color=]2
))
[color=]self
.日志(
[color=]'{name}
[color=]截图识别点击成功
[color=]!'
.format(
[color=]name
=picture)
[color=],
[color=]'
[color=]描述
[color=]:'
[color=],
坐标)
#
等待响应与广告时长等待
[color=]self
.temp_ad_time = 45
[color=]
[color=]except
[color=]BaseException
[color=]as
e:
[color=]self
.日志(
[color=]'{name}
[color=]截图识别
[color=],
[color=]异常
[color=]!'
.format(
[color=]name
=picture)
[color=],
[color=]'
[color=]错误信息
[color=]:'
[color=],
[color=]str
(e))
[color=]self
.temp_ad_time = 2
[color=]
[color=]def
[color=]日志
(
[color=]self
[color=],
log_operation=
[color=]''
[color=],
log_dimension=
[color=]''
[color=],
log_target=
[color=]''
):
log_time = time.strftime(
[color=]'%Y-%m-%d %H:%M:%S'
)
#
时间
[color=]print
(
[color=]'{} {}{}{}'
.format(log_time
[color=],
log_operation
[color=],
log_dimension
[color=],
log_target))
[color=]'''
[color=]日志
[color=]:
[color=]时间
[color=]|
[color=]操作
[color=]|
[color=]维度
[color=]|
[color=]指标
'''
[color=]if
__name__ ==
[color=]"__main__"
:
phon=智能手机()
phon.识图点击(
[color=]'box'
)
运行结果:
2023-06-19 16:25:46 即将开始识图点击!2023-06-19 16:25:55 box截图识别点击成功!描述:(430.5, 486.5)
程序运行结果正确,能够识别到图片,但是没有对图片进行点击,请各位大佬帮我看看,为什么没有点击图片,是坐标不对吗;我想识别到图片后,点击目标图片的中心点就好。