将numpy数组数据矩阵代码转换为文本



假设我有一个类似的numpy数组

[[1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0]
[1 0 1 1 0 1 0 1 0 1 0 0 0 0 1 1]
[1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0]
[1 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1]
[1 0 0 1 0 0 0 1 1 1 0 1 0 0 0 0]
[1 0 1 1 0 1 0 1 0 1 1 0 0 0 1 1]
[1 0 0 1 1 0 0 1 1 0 1 0 1 0 0 0]
[1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1]
[1 1 1 1 0 0 0 1 1 0 0 1 0 1 1 0]
[1 1 0 1 0 1 1 1 1 1 1 0 1 0 0 1]
[1 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0]
[1 0 0 1 1 0 0 0 1 0 0 0 1 1 0 1]
[1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0]
[1 0 1 1 0 0 0 0 1 1 0 1 1 1 0 1]
[1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 0]
[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]]

这基本上是一个已经从自定义代码中破译的数据矩阵代码。。。如何轻松地将其转换为文本?

我尝试使用pylibdmtx库,但失败了:

from pylibdmtx.pylibdmtx import decode, encode
decode((myarray.tobytes(), 16, 16))

很明显,我可以使用matplotlib将其保存为imshow文件。将其作为图像读取,并在图像上使用解码功能,但由于我已经有了16x16解码部分,我希望效率更高。是否有一个简单的python实现可用于此?

我解决了它。问题是:A: pylibdmtx解码函数需要在至少2个空行的代码周围有一个边界。B: 每个值至少需要两个像素所以你需要升级你的numpy数组,比如:1 11 1而不是仅1个

C: 您需要一个255而不是1的值,并且您需要确保数据类型设置为uint8

最新更新