【发布时间】:2019-02-01 20:59:04
【问题描述】:
我正在尝试使用 Web Assembly 为 Web 制作一个 PDF417 条形码阅读器(那里有一些,但唯一可靠的是获得许可的)。这个想法很简单,只需用 C 代码构建一个可以通过 JavaScript 调用的二进制文件。
我关注了this guide,这让我快到了!我必须将 --enable-codes=pdf417 作为参数添加到 configure 以启用 PDF417 符号并禁用所有其他我不感兴趣的符号。
该代码实际上对于任何其他类型的符号 (see demo) 都非常有效,但是如果我编译 ZBar 以接受 PDF417,它会检测到它但会引发警告:
WARNING: zbar/decoder/pdf417.c:73: pdf417_decode8: Assertion "clst >= 0 && clst < 9" failed.
dir=0 sig=5a44 k=9 buf[0000]=
WARNING: zbar/decoder/pdf417.c:89: pdf417_decode8: Assertion "g[0] >= 0 && g[1] >= 0 && g[2] >= 0" failed.
dir=1 sig=ca03 k=6 g0=ffffffff g1=e71 g2=585 buf[0000]=
您可以在我之前提到的指南中看到我正在使用的所有代码(唯一的区别是我在编译之前启用了 PDF417)¿有什么想法吗?
【问题讨论】:
-
我被困在同一条船上......你能找到什么吗?
-
对不起,没有。那里有数百个 ZBar 分叉和克隆。我咨询了一些比较活跃的,似乎都没有完成 PDF417 解码。 github.com/mchehab/zbar/issues/3
-
看到你的笔记,你提到你使用 cpp 端口进行 zxing。我也尝试过,但它不适用于流式传输:( 你能使用流式传输视频吗?
-
当然。在这里查看:github.com/Naahuel/poc-dni-pdf417-WA 这不是超级高效,但它确实有效。它将视频流转换为画布,然后对其进行解析。也看看这个问题,他们给出了使二进制 wasm 文件更小的建议github.com/nu-book/zxing-cpp/issues/40
标签: c webassembly zbar pdf417