改进 zbarimg 二维码识别

Improve zbarimg qrcode recognition

我有一个扫描纸张的工作系统,然后让 zbarimg 识别这些纸张上的二维码(虽然我不知道二维码出现在哪个区域)。突然,二维码识别变得更糟,最终完全停止工作。

物理扫描仪从扫描的纸张生成 PDF。我用ghostscript转成图片:

gs -sDEVICE=png16m -sCompression=lzw -r600x600 -dNOPAUSE -sOutputFile='scantest.png' scantest.pdf

这是结果:

当您尝试用智能手机读取二维码时,它会立即被识别。但是当我 运行 zbarimg:

zbarimg scantest.png

Zbarimg 无法识别任何东西:

scanned 0 barcode symbols from 1 images in 6,6 seconds

我尝试应用这个解决方案:

但是没有任何运气,它实际上完全破坏了二维码:

我还尝试应用 post 中建议的光模糊滤镜: Decode QR-Code in scanned PDF

我使用 ImageMagick 来完成这项任务: convert scantest.png -blur 1x1 scantest_after_blur.png

我也尝试过 1x2、1x3、1x4、1x6、1x8,但没有任何帮助。

我怎样才能让 zbarimg 重新工作?

这是最终起作用的方法:

convert input.png +repage -threshold 50% -morphology open square:1 output.png
zbarimg output.png

最重要的可能是应用形态学。我从这个 post 得到了整个 ImageMagick 命令: