我使用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)