请大佬帮我看看怎么能够识别到目标图片后,并点击目标图片的中心点

查看 36|回复 1
作者:BOYBOB   
[color=]class
智能手机():
   
[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)
程序运行结果正确,能够识别到图片,但是没有对图片进行点击,请各位大佬帮我看看,为什么没有点击图片,是坐标不对吗;我想识别到图片后,点击目标图片的中心点就好。

图片, 大佬

ciker_li   

d.click(ret['px'][0], ret['px'][1])
坐标是不是有问题?
点到图片角上了
试试中心
您需要登录后才可以回帖 登录 | 立即注册

返回顶部