1

通过使用开源库,pylibdmtx 能够检测图像中的数据矩阵条形码。当条形码只是大图像中的一小部分时,处理速度会变慢。缩小和检测条形码需要很少的参数

这是库中编码的一部分

with libdmtx_decoder(img, shrink) as decoder:
        properties = [
            (DmtxProperty.DmtxPropScanGap, gap_size),
            (DmtxProperty.DmtxPropSymbolSize, shape),
            (DmtxProperty.DmtxPropSquareDevn, deviation),
            (DmtxProperty.DmtxPropEdgeThresh, threshold),
            (DmtxProperty.DmtxPropEdgeMin, min_edge),
            (DmtxProperty.DmtxPropEdgeMax, max_edge)
        ]

我的问题是,除了 pylibdmtx 之外还有其他库可以使用吗?或任何提高处理速度而不影响准确性的建议。顺便说一下 pylibdmtx 于 2017 年 1 月 18 日更新,它是一个维护的库

4

2 回答 2

1

一种选择是通过图像过滤预先定位代码。

数据矩阵具有高对比度(理论上)和给定的单元大小。如果您将图像切碎以使单元格变为一两个像素大,则数据矩阵将作为一个高度纹理化的区域脱颖而出,并且渐变将强烈响应。

于 2017-04-04T09:44:44.897 回答
0

我也在使用这个库来解码数据矩阵,我发现了一些关于这些参数的东西,超时是以毫秒为单位的 int 值,这确实有助于快速解码,而 gap_size 是当你有多个数据矩阵时使用的两个数据矩阵之间没有像素按顺序以相等的间隙解码。使用阈值,您可以直接为该函数提供 0-100 之间的阈值,而无需使用 open-CV 函数,最大计数不是要在一张图像中解码的数据矩阵,形状是 data_matrix 大小 i。1010 为 0,1212 为 1,依此类推。通过将所有这些结合使用,我们可以快速有效地解码数据矩阵。

于 2020-01-29T07:47:41.190 回答