Python数据矩阵检测

时间:2017-04-04 08:32:03

标签: python image-processing barcode datamatrix

通过使用开源库,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在18/1/2017更新,它是一个维护的库

2 个答案:

答案 0 :(得分:0)

一个选项是通过图像过滤预先定位代码。

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

答案 1 :(得分:0)

我也在使用该库对数据矩阵进行解码,我发现有关这些参数的信息是超时是以毫秒为单位的int值,这确实有助于快速解码,gap_size在两个以上的数据矩阵之间没有像素时,依次排列一个数据矩阵,以相等间隔进行解码。具有阈值时,您可以直接给此函数提供0-100之间的阈值,而无需使用open-CV函数,并且max count是要在一个图像中解码的数据矩阵的个数,形状是data_matrix size i。 1010为0,1212为1,依此类推。 结合使用所有这些,我们可以快速有效地解码数据矩阵。