i,我尝试编码,发送和放置一些噪音,并使用reed-solomon coder
在Python应用中解码图像我已经将图像从pil转换为numpy阵列。现在,我正在尝试编码此数组,然后对其进行解码。但是我对代码单词有问题。它太长了。有人知道如何解决这个问题吗?预先感谢您
错误消息:ValueError:消息长度是最大223。消息为226
import unireedsolomon as rs
from PIL import Image
import numpy as np
class REED
def __init__(self):
self.img = None
self.numpyImg = None
def loadPictureAndConvertToNumpyArray(self):
self.img = Image.open('PATH')
self.img.load()
self.numpyImg = np.array(self.img)
def reedSolomonEncode(self):
coder = rs.RSCoder(255,223)
self.numpyImg = coder.encode(self.numpyImg)
芦苇软件包的github页面清楚地表明您不能编码大于k的数组(在您的情况下为223(。这意味着您必须先将图像拆分之前,然后再对其进行编码。您可以将其分成223的块,然后在编码的块上工作:
k = 223
imgChunks = np.array_split(self.numpyImg, range(k, self.numpyImg.shape[0], k))
encodedChunks = [coder.encode(chunk) for chunk in imgChunks]