本帖最后由 lhdilll 于 2024-12-17 17:53 编辑
最近在做某多多的hk,客户要求本地纯算实现缺口计算,单子完成了,把识别缺口这块纯算法分享给有需要的人学习。
识别结果:在调试模式下,识别用时在1s左右,编译后是毫秒级别。经测试,能识别大部分类型的缺口hk,包括不规则的,多缺口的。
示例
实现思路:先将图片二值化,然后裁剪掉hk图的空白部分(目的是为了加快识别速度以及识别率),在底图上进行整体平移 计算命中率。
二值化可视01图
思路相对简单,由于一开始自己也没什么特别好的思路,该版本代码采用的是一维数组对比,相对实现起来比较复杂。如果改为二维数组,思路就比较好理解,有兴趣的可以自行研究二维数组对比写法!
代码调用子程序
变量名 | 类 型 | 静态 | 数组 | 备 注 | P | Slide | | | t1 | 整数型 | | | target | 整数型 | | | start | 整数型 | | | t2 | 整数型 | | |
t1 = 取启动时间 () P. 初始化 (slide, image, 120 )P. 计算hk ()P. 计算底图 ()调试输出 (P. GetSlideStr ()) 调试输出 (P. GetImageStr ()) P. 计算目标缺口 ()target = P. GetTarget () t2 = 取启动时间 ()调试输出 (“识别用时:::” + 到文本 (t2 - t1 ) + “ms(编译后用时大大缩短)”)调试输出 (“目标缺口中心x:::” + 到文本 (target ))
方法可能不是最好的,提供一个思路,用于交流学习!
缺口识别.e
(1.01 MB, 下载次数: 95, 售价: 3 枚 精币)
|