Find target icon on your picture, and get its position.
例如你有两张图片,分别是微信图标:
与包含微信图标的手机截图:
那么,你只需要短短几行代码:
import pprint
from findit import FindIt
fi = FindIt()
fi.load_template('wechat_logo', pic_path='pics/wechat_logo.png')
result = fi.find(
target_pic_name='screen',
target_pic_path='pics/screen.png',
)
pprint.pprint(result)
就可以得到:
{'data': { 'wechat_logo': {'FeatureEngine': (524.6688232421875, 364.54248046875),
'TemplateEngine': (505.5, 374.5)}},
'target_name': 'screen',
'target_path': 'pics/screen.png'}
通过上述数据可以知道,微信图标最可能出现的点位:
(524, 364)
(505, 374)
这一切 findit 都将替你完成。你只需要在你的框架里调用它。
为了后续更好的应用,findit 的理论形态应该是配置在服务器上。主要有两个问题:
通过配置,findit-client 能够连接到本地或者远程的 findit-server,以适应不同的需求。换言之,你可以在其他设备上使用 client 直接调用远程的 findit,而本地无需 opencv 环境。这种做法使得你能够在更低配置的客户机(例如树莓派等)上使用 findit 服务。由于 client 的设计只依赖于 http 请求,你甚至可以使用你喜欢的任何语言来编写 client!
同样的,findit 提供了完善的 docker 与 docker-compose 支持,使得整套部署流程非常非常简单!
项目描述:https://testerhome.com/topics/19218