【问题标题】:Decoding Datamatrix as digits using pylibdmtx使用 pylibdmtx 将 Datamatrix 解码为数字
【发布时间】:2018-08-03 15:50:30
【问题描述】:

我正在尝试从 Datamatrix 中解码数字。 这是我的代码

import cv2
from pylibdmtx.pylibdmtx import decode
a = decode(cv2.imread(dmtx.jpg'))
print(a)

代码运行没有错误。但它不打印任何东西,它给了我一个空矩阵。

我无法理解 decode() 函数。

有人可以建议我使用 pylibdmtx lib 解码为数字吗?

【问题讨论】:

  • 您确定您的数据矩阵图像编码正确吗?使用在线解码器测试图像的正确性。
  • 实际上,我正在从产品中捕获 DataMatrix 并进行图像处理。是的,在线解码器可以正确解码。但是 pylibdmtx 没有。我也上传了图片。请仔细查看。 @zindarod

标签: python opencv zxing datamatrix


【解决方案1】:

尝试对输入图像进行阈值处理。

import numpy as np
import cv2
from pylibdmtx import pylibdmtx

if __name__ == '__main__':

    image = cv2.imread('image.jpg', cv2.IMREAD_UNCHANGED);

    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    ret,thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)

    msg = pylibdmtx.decode(thresh)
    print(msg)

【讨论】:

  • 是的。它在阈值处理后完美运行。非常感谢@zindarod
猜你喜欢
  • 1970-01-01
  • 2014-04-18
  • 1970-01-01
  • 1970-01-01
  • 2015-09-21
  • 2021-05-06
  • 2021-09-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多