【导读】本文是专栏《计算机视觉40例简介》的第1个案例《图像加密与解密》。该专栏简要介绍李立宗主编《计算机视觉40例——从入门到深度学习(OpenCV-Python)》一书的40个案例。 目前,该书已经在电子工业出版社出版,大家可以在京东、淘宝、当当等平台购买。 大家可以在公众号“计算机视觉之光”回复关键字【案例01】获取本文案例的源代码及使用的测试图片等资料。 |
图像加密与解密的展示如图1所示:
图1 图像加密解密展示
图像加密解密具有非常重要的应用。例如,我们可以把图像加密,也可以把密码等关键信息保存在图片上然后对图片进行加密从而实现高保密的要求。
加密的方法有很多种,我们可以:
本文讨论异或的加密。异或加密运算如表1所示(使用xor表示异或运算),针对数字0和数字1,其运算规律为:
但是,这里很有意思的一点在于,存在如下逻辑链条:
按照上述逻辑,我们得到如下逻辑:
表1 异或运算
采用数值加密、解密的逻辑,即可得到图像加密、解密的逻辑,图像加密解密模型如图2所示。其中,密钥图像是加密、解密双方约定的任意一幅图像(本例中使用的是一幅城市风景图)。解密后得到的解密图像与原始图像完全一致。
图2 加密模型
运行程序,结果如图3所示,其中:
图3 运行结果
在《计算机视觉40例——从入门到深度学习(OpenCV-Python)》一书中,从理论基础、实现过程等角度系统深入地介绍了图像加密与解密的具体算法和实现流程,并对代码实现进行了细致的解释。欢迎大家阅读第4章《图像加密》,获取详细内容。
《计算机视觉40例——从入门到深度学习(OpenCV-Python)》在介绍Python基础、OpenCV基础、计算机视觉理论基础、深度学习理论的基础上,介绍了计算机视觉领域内具有代表性的40个典型案例。这些案例中,既有传统的案例(数字识别、答题卡识别、物体计数、缺陷检测、手势识别、隐身术、以图搜图、车牌识别、图像加密、指纹识别等),也有深度学习案例(图像分类、风格迁移、姿势识别、实例分割等),还有人脸识别方面的案例(表情识别、驾驶员疲劳监测、识别性别与年龄等)。
配套视频简介:
https://download.csdn.net/learn/37656/587382?spm=1003.2001.3001.4143