将lsb隐写术图像转换为视频时丢失数据

时间:2019-07-30 13:29:15

标签: python opencv compression steganography video-conversion

我使用open-cv python将电影转换为帧数组,以便使用LSB隐写术在其中隐藏一些文本信息。 我使用LSB隐写术从所有这些中制作了一个新阵列,并使用该阵列重制了第一部电影。但是,当将结果视频重新捕获到图像帧时,我丢失了数据。

我用提取的隐写术图像进行了测试,然后将获得的真实结果嵌入到我的消息中,然后将其全部写入视频,因此,我确定我的问题与压缩视频方法完全相关。

我使用两种方式来编写视频。

编写视频的第一种方法:

video_name = 'video.avi'
video = cv2.VideoWriter(video_name, 0, 1, (width,height))
for image in images:
    video.write(cv2.imread(os.path.join(image_folder, image)))

第二种方式:

outvid='video.avi'
fourcc = VideoWriter_fourcc(*format)
vid = None
for image in images:
    if not os.path.exists(image):
        raise FileNotFoundError(image)
    img = imread(image)
    if vid is None:
        if size is None:
            size = img.shape[1], img.shape[0]
        vid = VideoWriter(outvid, fourcc, float(fps=5), size, is_color)
    if size[0] != img.shape[1] and size[1] != img.shape[0]:
        img = resize(img, size)
    vid.write(img)

0 个答案:

没有答案