我试图从php读取扫描的qr代码,通过exec运行zbarimg。工作不是太糟糕。
我一直试图通过摆弄Imagick来摆脱white dots syndrome
- 改变亮度/对比度/清晰度似乎让它们脱颖而出,但有些像这样的,仍然是不可读的。
有没有办法去除白点/改善zbarimg的识别?
编辑:
有一件事我忘了指出: 令我感到奇怪的是,通过智能手机扫描QR,使用相机,在一个瞬间成功读取代码而没有一个问题,这使我认为这样做"修复"甚至不需要。 我只是以错误的方式使用zbar吗? 或者移动操作系统只使用不同的,更好的算法?我也尝试过使用zxing包装器,但与zbar相比,它的结果更少。
答案 0 :(得分:0)
在清理您向我们展示的图像方面,显而易见的方法是使用cellular automata - 尽管为了获得最佳效果,您可以修改行为以包含您已使用的锐化和阈值处理其他过滤器。您可以考虑将单元格的大小设置为,例如,QR码块分辨率的25%,而不是1到1,其中包含无效图像中的像素。真的,你应该通过基于直方图的方法应用你的阈值处理(假设你可以隔离图像中的QR码)。
我不知道PHP中的实现,但至少有一个OpenCV interface for PHP