OpenCV For Python入门10

您所在的位置:网站首页 opencv10安装 OpenCV For Python入门10

OpenCV For Python入门10

2022-11-17 09:20| 来源: 网络整理| 查看: 265

通过按位异或运算就可以实现图像的加密与解密。加密:原始图像与秘钥图像按位异或运算。解密:将加密后的图像与秘钥图像进行按位异或,可以实现解密。

基本原理 案例说明 实战演示 基本原理

异或运算是一种半加运算。只加不进。

在二进制中,体现的就是xor(1,1) = 0

基本原理

案例说明

这里,借用一本书上的例子进行讲解。

首先是加密过程:

加密过程

197 172 193 219 78 31 9 85 52 19 91 58 2 167 30 130

解密过程类似,这里不再赘述。

实战演示

例: 甲方和乙方秘密写上一个计划,以一张图片的形式传递消息,只有双方有秘钥。现假设你窃取了原图和秘钥,请你对其加密和解密。

import cv2 import numpy as np mimi = cv2.imread('mimi.jpg', 0) # 原图 r, c = mimi.shape key = np.random.randint(0, 256, size=[r, c], dtype=np.uint8) # 秘钥 jiami = cv2.bitwise_xor(mimi, key) jiemi = cv2.bitwise_xor(jiami, key) cv2.imshow('yuantu', mimi) cv2.imshow('key', key) cv2.imshow('jiami', jiami) cv2.imshow('jiemi', jiemi) cv2.waitKey()

效果: 加密解密运行效果

素材:mimi.jpg 素材



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3