条码和二维码搞了许久,之前在做二维码识别的优化,想能搞出多少花来呢?最近需要在极小的内存下完成二维码的识别和解码。顿时头大了,不过锅刚刚解了,就来说一说。

条码和二维码的特点就是我们前处理之后,都是处理的二值图像。那么在二值图像上操作有什么好方法呢?不卖关子,说出答案了:游程编码。

一维码检测有什么特点呢?条状、方向一致!没错,直接上Region的Blob分析。参见Halcon的各种region算子,自己实现一遍。

二维码检测有什么特点呢?三个定位矩形的11311比例!直接上游程编码,水平搜索,然后游程转置进行垂直方向搜索,找到定位点。

如果是按照opencv4.0带kmeans的方法,水平定位时可以给多点,一个水平给两个点,可以提高搜索成功率。

定位矩形找到后,开始搞事情了,回字的连通域标注,是不是游程可以做?

凸包检测特征点,是不是游程可以做(葛立恒扫描法)?然后定位到第四个点,后面就是放射变换的事情了。

可以吧,极小内存与极高速度也是可以兼得的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注