通过使用开源库,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更新,它是一个维护的库
答案 0 :(得分:0)
一个选项是通过图像过滤预先定位代码。
数据矩阵具有高对比度(理论上)和给定的单元格大小。如果您篡改图像以使单元格变为一个或两个像素大,则数据矩阵将突出显示为高度纹理化的区域,并且渐变将强烈响应。
答案 1 :(得分:0)
我也在使用该库对数据矩阵进行解码,我发现有关这些参数的信息是超时是以毫秒为单位的int值,这确实有助于快速解码,gap_size在两个以上的数据矩阵之间没有像素时,依次排列一个数据矩阵,以相等间隔进行解码。具有阈值时,您可以直接给此函数提供0-100之间的阈值,而无需使用open-CV函数,并且max count是要在一个图像中解码的数据矩阵的个数,形状是data_matrix size i。 1010为0,1212为1,依此类推。 结合使用所有这些,我们可以快速有效地解码数据矩阵。