象棋抓图时间实际情况:棋盘大小约 594*660,14张棋子图 33*33的像素。
第一种方式:抓图用时(45-5)=40s
第二种方式:抓点+抓图用时(27-2)=25s
第三种方式:抓点+抓图用时(18-2)=16s
把象棋棋盘分为90个小格子区域(60*60),循环查找图片(相似度0.5至0.6)。
第一种方式的具体方法是象棋90个格子挨个搜索棋子图片,平均每次耗时约为40~45s。
第二种方式:先用抓点区别象棋的棋子的红色还是黑色,再对符合条件的格子区域搜索棋图片,由于实际中编码编写有点错误,取点区间为2倍小格子区域。导致每次耗时约为21~25s。
第三种方式为第二种方式的修改,并且取点区域减小为大半个小格子,先区分棋子颜色及判断有无棋子,再用图片找图。耗时约在14~16s之间。
区域抓图配合抓点,可以提高脚步运行效率。
抓点准确率比较高,且运行快。抓图需要调低相似度,且耗时长,而且容易图片识别错误。
实际编码中应尽可能使用抓点。
//***
简单统计下,就是40s/(90*14)=0.5s/14。 每个区域检索时间约为0.4s,检索每张小图片的时间约为:31.7ms。*//
//**抓点耗时5s/(2*90)=27ms。(注:这是在一整块客户区域中找一个点的耗时)----这两行似乎有点问题**//
总之,就一个意思,抓点比抓图快且准。提高算法编译水平能提高代码运行效率。