php - 改进zbar识别扫描的qr代码

时间:2018-02-07 12:21:15

标签: php qr-code imagick zbar

我试图从php读取扫描的qr代码,通过exec运行zbarimg。工作不是太糟糕。

问题在于它似乎会阻塞像这些小点这样的扫描工件: enter image description here

我一直试图通过摆弄Imagick来摆脱white dots syndrome - 改变亮度/对比度/清晰度似乎让它们脱颖而出,但有些像这样的,仍然是不可读的。

有没有办法去除白点/改善zbarimg的识别?

编辑:

有一件事我忘了指出: 令我感到奇怪的是,通过智能手机扫描QR,使用相机,在一个瞬间成功读取代码而没有一个问题,这使我认为这样做"修复"甚至不需要。 我只是以错误的方式使用zbar吗? 或者移动操作系统只使用不同的,更好的算法?我也尝试过使用zxing包装器,但与zbar相比,它的结果更少。

1 个答案:

答案 0 :(得分:0)

在清理您向我们展示的图像方面,显而易见的方法是使用cellular automata - 尽管为了获得最佳效果,您可以修改行为以包含您已使用的锐化和阈值处理其他过滤器。您可以考虑将单元格的大小设置为,例如,QR码块分辨率的25%,而不是1到1,其中包含无效图像中的像素。真的,你应该通过基于直方图的方法应用你的阈值处理(假设你可以隔离图像中的QR码)。

我不知道PHP中的实现,但至少有一个OpenCV interface for PHP