怎么样使用QR码纠错机制进行隐写。

我想要一个关于二维码隐写的程序。
需求是将原始二维码读取后进行改写。加入新的信息时候重写这个二进制流,并重新生成二维码。但是扫描的结果不能改变。
在解码的同时获取加入的新的信息(隐写部分)。

直接上代码吧:

import qrcode
from PIL import Image

# 将信息写入二维码
def write_qr_code(qr_code, data):
    # 将数据转换为二进制字符串
    binary_data = ''.join(format(ord(c), '08b') for c in data)
    
    # 获取二维码的像素矩阵
    qr_matrix = qr_code.get_matrix()

    # 将二进制字符串写入像素矩阵
    index = 0
    for i in range(len(qr_matrix)):
        for j in range(len(qr_matrix)):
            if qr_matrix[i][j]:
                if index < len(binary_data):
                    bit = int(binary_data[index])
                    qr_matrix[i][j] = bit
                    index += 1
                else:
                    break

# 从二维码中读取信息
def read_qr_code(qr_code):
    # 获取二维码的像素矩阵
    qr_matrix = qr_code.get_matrix()

    # 读取像素矩阵中的二进制字符串
    binary_data = ''
    for i in range(len(qr_matrix)):
        for j in range(len(qr_matrix)):
            if qr_matrix[i][j]:
                binary_data += str(qr_matrix[i][j])

    # 将二进制字符串转换为文本
    text = ''
    for i in range(0, len(binary_data), 8):
        byte = binary_data[i:i+8]
        text += chr(int(byte, 2))

    return text

# 生成二维码并写入信息
qr_code = qrcode.QRCode(version=1, box_size=10, border=4)
qr_code.add_data('原始信息')
qr_code.make(fit=True)
write_qr_code(qr_code, '加入的新信息')
qr_code.make_image(fill_color='black', back_color='white').show()

# 读取二维码并获取信息
qr_code = qrcode.QRCode(version=1, box_size=10, border=4)
qr_code.add_data('原始信息')
qr_code.make(fit=True)
text = read_qr_code(qr_code)
print('原始信息:', text)
text = read_qr_code(qr_code)
print('加入的新信息:', text)