使用Reed-Solomon编码器编码图像



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]

相关内容

  • 没有找到相关文章

最新更新