4

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

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

要解码的图像

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

我无法理解 decode() 函数。

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

4

1 回答 1

6

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

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)
于 2018-08-04T15:20:04.203 回答