条码和二维码搞了许久,之前在做二维码识别的优化,想能搞出多少花来呢?最近需要在极小的内存下完成二维码的识别和解码。顿时头大了,不过锅刚刚解了,就来说一说。
条码和二维码的特点就是我们前处理之后,都是处理的二值图像。那么在二值图像上操作有什么好方法呢?不卖关子,说出答案了:游程编码。
一维码检测有什么特点呢?条状、方向一致!没错,直接上Region的Blob分析。参见Halcon的各种region算子,自己实现一遍。
二维码检测有什么特点呢?三个定位矩形的11311比例!直接上游程编码,水平搜索,然后游程转置进行垂直方向搜索,找到定位点。
如果是按照opencv4.0带kmeans的方法,水平定位时可以给多点,一个水平给两个点,可以提高搜索成功率。
定位矩形找到后,开始搞事情了,回字的连通域标注,是不是游程可以做?
凸包检测特征点,是不是游程可以做(葛立恒扫描法)?然后定位到第四个点,后面就是放射变换的事情了。
可以吧,极小内存与极高速度也是可以兼得的。
你好,我这边有个类似的项目,你接外包吗?