【计算机视觉40例】案例01:图像加密与解密

导读】本文是专栏《计算机视觉4 0 例简介》的第1个案例《图像加密与解密》。该专栏简要介绍李立宗主编《计算机视觉4 0 例——从入门到深度学习(OpenCV-Python)》一书的4 0 个案例。​

目前,该书已在电子工业出版社出版,在京东、淘宝、当当等平台均可购买。​

[En]

At present, the book has been published in the Electronic Industry Press, and you can buy it on JD.com, Taobao, Dangdang and other platforms. ​

大家可以在公众号”计算机视觉之光”回复关键字【案例01】获取本文案例的源代码及使用的测试图片等资料。

​针对本书40个案例的每一个案例,分别录制了介绍视频。如果嫌看文字版麻烦,可以关注公众号”计算机视觉之光”直接观看视频介绍版。

本文简要介绍了本案的一些基本知识。更详细的理论介绍和代码实现,请参考《计算机视觉40例入门》第四章《图像加密》。

[En]

This paper briefly introduces some basic knowledge of this case. For a more detailed theoretical introduction and code implementation, please refer to Chapter 4 “Image encryption” of “introduction to 40 cases of computer Vision” for more detailed information.

图像加密和解密的显示如图1:​

[En]

The display of image encryption and decryption is shown in figure 1: ​

  • 加密图像是一个混沌图像,我们根本无法从加密图像中获得任何有效信息。​
    [En]

    the encrypted image is a chaotic image, and we can’t get any valid information from the encrypted image at all. ​*

  • 解密图像与原始图像一致。​
    [En]

    the decrypted image is consistent with the original image. ​*

【计算机视觉40例】案例01:图像加密与解密

图1 图像加密解密展示​

图像加密和解密有着非常重要的应用。例如,我们可以对图像进行加密,也可以将密码等关键信息保存在图片上,然后对图片进行加密,以达到高度保密的要求。​

[En]

Image encryption and decryption has very important applications. For example, we can encrypt the image, or we can save the key information such as password on the picture and then encrypt the picture to achieve the requirement of high confidentiality. ​

有很多方法可以加密,我们可以:​

[En]

There are many ways to encrypt, we can: ​

  • 加扰加密:对图像中的所有像素进行无序加密。​
    [En]

    scrambling encryption: encrypt all the pixels in the image out of order. ​*

  • XOR加密:通过XOR运算进行加密和解密。​
    [En]

    XOR encryption: encrypt and decrypt by XOR operation. ​*

本文讨论异或的加密。异或加密运算如表1所示(使用xor表示异或运算),针对数字0和数字1,其运算规律为:​

  • 对于相同的数值运算,结果为0​
    [En]

    for the same numerical operation, the result is 0 ​*

  • 对于不同的数值运算,结果为1​
    [En]

    for different numerical operations, the result is 1 ​*

但有趣的是,这里有一个这样的逻辑链:​

[En]

But the interesting thing here is that there is a logical chain like this: ​

  • 假设:a和b异或得到c ​
  • 推论1:c和a异或会得到b ​
  • 推论2:c和b异或会得到a ​

根据上面的逻辑,我们得到以下逻辑:​

[En]

According to the above logic, we get the following logic: ​

  • 加密:明文(a)和密钥(b)加密得到密文(c)​
  • 解密:密文(c)和密钥(b)解密得到明文(a)​

表1 异或运算​

【计算机视觉40例】案例01:图像加密与解密

图像加解密的逻辑可以用数值加解密的逻辑得到,图像加解密模型如图2所示,其中关键图像为双方约定的任意图像(本例中使用的是城市景观图)。解密后得到的解密图像与原始图像完全一致。​

[En]

The logic of image encryption and decryption can be obtained by using the logic of numerical encryption and decryption, and the image encryption and decryption model is shown in figure 2. Among them, the key image is any image agreed by both parties (in this case, a city landscape map is used). The decrypted image obtained after decryption is completely consistent with the original image. ​

【计算机视觉40例】案例01:图像加密与解密

图2 加密模型​

运行程序,结果如图3所示,其中:​

  • 图(a)是原始图像lena。​
  • 图(b)是密钥图像key,其看起来是杂乱无章的。​
  • 图(c)是加密得到的加密图像encryption 。是通过对原始图像lena(图(a))和密钥图像key(图(b))进行按位异或得到的。该图像看起来是杂乱无章的。虽然图像encryption 和图像key都是杂乱无章的,但是他们是不一样的。​
  • 图(d)是解密得到的解密图像decryption ,是通过对加密图像encryption (图(c))与密钥图像key(图(b))按位异或得到的。​

【计算机视觉40例】案例01:图像加密与解密

图3 程序的运行结果​

在《计算机视觉4 0 例——从入门到深度学习(OpenCV-Python)》一书中,从理论基础、实现过程等角度系统深入地介绍了图像加密与解密的具体算法和实现流程,并对代码实现进行了细致的解释。欢迎大家阅读第4 章《图像加密》,获取详细内容。​

《计算机视觉4 0 例——从入门到深度学习(OpenCV-Python)》在介绍Python基础、OpenCV基础、计算机视觉理论基础、深度学习理论的基础上,介绍了计算机视觉领域内具有代表性的4 0 个典型案例。这些案例中,既有传统的案例(数字识别、答题卡识别、物体计数、缺陷检测、手势识别、隐身术、以图搜图、车牌识别、图像加密、指纹识别等),也有深度学习案例(图像分类、风格迁移、姿势识别、实例分割等),还有人脸识别方面的案例(表情识别、驾驶员疲劳监测、识别性别与年龄等)。​

【计算机视觉40例】案例01:图像加密与解密

Original: https://blog.51cto.com/u_6263569/5572780
Author: superdont
Title: 【计算机视觉40例】案例01:图像加密与解密

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/500821/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球