基于 Python 图像的隐写术

pythonserver side programmingprogramming更新于 2025/12/12 3:24:17

在本文中,我们将学习使用 Python 的基于图像的隐写术。隐写术是一种将文本隐藏在音频、视频和图像后面的方法。这用于增强安全性和防止虚假版权声明。

我们借助 Python 中 stepic 模块中的编码功能实现了这一点。为了显示和查看,我们使用 Python 中提供的 PIL(Python 图像库)。

首选 Ide −Jupyter 笔记本

导入所有依赖项 −

>>> import stepic

在本文中,我们将对下面给出的图像上的文本进行编码。请下载下面的图片,并将其保存为 “logo.png”,保存在 jupyter notebook 的 localhost 文件夹中。

您可以使用您选择的任何图像。您只需要在双引号内指定图像的路径即可。

>>> img = Image.open('logo.png')
>>> img.show()

这里的 Image 函数允许我们打开“image”需要执行隐写术。.show() 函数允许我们以弹出窗口的形式查看图像,如下所示。

现在使用 stepic 模块,我们使用 ASCII 值将消息编码为 8 位二进制数据。编码时使用 .encode() 函数,该函数接受两个参数,即图像和消息。

我们使用 .save() 函数将隐藏的消息保存到原始图像中。

>>> img1 = stepic.encode(im, b'Tutorialspoint')
>>> img1.save('logo.png', 'PNG')

现在让我们显示编码图像。

>>> img1 = Image.open('logo.png')
>>> img1.show()

我认为您在两张图片中没有观察到任何变化。这是因为消息被隐藏了,无法直接看到。

要验证您是否已成功编码消息,请浏览以下代码。

>>> im2 = Image.open('logo.png')
>>> message_hidden = stepic.decode(im2)
>>> print(message_hidden)

输出

'Tutorialspoint'

此处隐藏/编码的消息由 Python 中可用的 stepic 模块的内置解码器显示。

结论

在本文中,我们了解了使用 Python 3.x 中可用的 stepic 和 PIL 模块的基于图像的隐写术。或更早版本。


相关文章


有用资源