python图像加密_图像加密注释的Python实现,笔记,python
1.随机打乱各行进行数字图像加密
import cv2
import numpy as np
import matplotlib.pyplot as plt
import ch
ch.set_ch()
RGB = cv2.imread(r'D:\DigitPictureProcess\hist02.PNG')
# 返回矩阵的行和列
s = RGB.shape[0]
r = np.random.choice(s, size=s, replace=False, p=None)
RGBS = RGB[r, :, :]
j = 0
f = np.arange(0, len(r))
while j <= len(r):
# find(r==j)是返回r中等于j的值的索引,可以是多个,赋值给f的第j个位置
for (i, val) in enumerate(r):
if val == j:
f[j] = i
j = j + 1
RGBE = RGBS[f, :, :]
plt.subplot(1, 2, 1)
plt.imshow(RGBS)
plt.title(u"加密后")
plt.subplot(1, 2, 2)
plt.imshow(RGBE)
plt.title(u"解密后")
plt.show()
2. 随机打乱各列进行数字图像加密
import cv2
import numpy as np
import matplotlib.pyplot as plt
import ch
ch.set_ch()
RGB = cv2.imread(r'D:\DigitPictureProcess\hist02.PNG')
# 返回矩阵的行和列
s = RGB.shape[1]
r = np.random.choice(s, size=s, replace=False, p=None)
RGBS = RGB[:, r, :]
j = 0
f = np.arange(0, len(r))
while j <= len(r):
# find(r==j)是返回r中等于j的值的索引,可以是多个,赋值给f的第j个位置
for (i, val) in enumerate(r):
if val == j:
f[j] = i
j = j + 1
RGBE = RGBS[:, f, :]
plt.subplot(1, 2, 1)
plt.imshow(RGBS)
plt.title(u"加密后")
plt.subplot(1, 2, 2)
plt.imshow(RGBE)
plt.title(u"解密后")
plt.show()
3.同时打乱各行各列进行数字图像加密
import cv2
import numpy as np
import matplotlib.pyplot as plt
import ch
ch.set_ch()
RGB = cv2.imread(r'D:\DigitPictureProcess\hist02.PNG')
# 返回矩阵的行和列
s_1 = RGB.shape[0]
r = np.random.choice(s_1, size=s_1, replace=False, p=None)
RGBS = RGB[r, :, :]
s_2 = RGB.shape[1]
c = np.random.choice(s_2, size=s_2, replace=False, p=None)
RGBSS = RGBS[:, c, :]
i = 0
f = np.arange(0, len(c))
while i <= len(c):
# find(r==j)是返回r中等于j的值的索引,可以是多个,赋值给f的第j个位置
for (k, val) in enumerate(c):
if val == i:
f[i] = k
i = i + 1
j = 0
g = np.arange(0, len(r))
RGBE = RGBSS[:, f, :]
while j <= len(r):
# find(r==j)是返回r中等于j的值的索引,可以是多个,赋值给f的第j个位置
for (k, val) in enumerate(r):
if val == j:
g[j] = k
j = j + 1
RGBEE = RGBE[g, :, :]
plt.subplot(1, 2, 1)
plt.imshow(RGBSS)
plt.title(u"加密后")
plt.subplot(1, 2, 2)
plt.imshow(RGBEE)
plt.title(u"解密后")
plt.show()
4. 随机打乱像素点进行数字图像加密
python图像加密_图像加密注释的Python实现,笔记,python相关推荐
- python插值算法实现_图像插值算法Opencv+python实现
1.最近邻插值算法 在待求像素(小数)的四邻像素(整数,上下左右)中,将距离待求像素最近的邻接像素灰度值赋予待求像素.html 2.双线性插值算法 感受这个博客讲的挺详细,能够参考. 博客 双线性就是 ...
- python可逆加密算法_常见加密方式及Python实现
由于计算机软件的非法复制,通信的泄密.数据安全受到威胁,所以加密在开发过程中是经常使用到的技术,在一些重要场景中都有所应用,如:登录.支付.oauth等,场景不同需要搭配不一样的签名加密算法来达到业务 ...
- api接口加密_接口加密如何测试?
摘要算法: 对明文编码生成信息摘要,以防止被篡改.比如MD5使用的是Hash算法,无论多长的输入,MD5都会输出长度为128bits的一个串. 摘要算法不要秘钥,客户端和服务端采用相同的摘要算法即可针 ...
- VTK修炼之道25:图像基本操作_图像子块提取(特征区域提取)
1.提取感兴趣区域 感兴趣区域(Volum of Interest,VOI)是指图像内部的一个子区域.在VTK中vtkExtractVOI类实现由用户指定的区域范围提取图像的子图像.该Filter的输 ...
- VTK修炼之道19:图像基本操作_图像像素值的访问与修改
1.直接访问图像像素(索引法) #include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL);#include <vtkS ...
- 实习二 分组密码加密_分组密码加密模式
在分组密码中,一般所选用的密码算法都是公开的,加密过程中,只有密钥是保密的.一旦密钥固定,那么可以将加解密过程视为一个映射,例如AES算法,每加密一次,就可以视为128bit到128bit的数据映射. ...
- matlab图像降噪_图像超分:RealSR
点击上方"AIWalker",选择加"星标"或"置顶" 重磅干货,第一时间送达 paper: https://csjcai.githu ...
- java ecb加密_各加密模式的演示(ECB,CBC) .
对于较长的明文进行加密需要进行分块加密,但是直接加密(ecb)不容易隐藏模式,用OpenCV写了个程序论证了一下 ECB 优点就是简单,可以并行计算,不会迭代误差 缺点就是隐藏不了模式 CBC 需要初 ...
- 函数加密_同态加密__密码学课堂笔记
背景 对称.公钥加密算法解密密文,得到的是明文的全部信息.但是我们希望能够对密文的访问附加特殊的要求,使访问者只得到明文的一个函数值,而不会泄露明文. FE的核心要求:对明文的灵活访问 FE密钥:基于 ...
- win10文件夹加密_文件加密精灵,保护你的隐私!
官方介绍: 文件加密精灵是一款使用方便,安全可靠的文件加密利器.电脑上的任何文件都能做加密处理,有效的保证你的隐私. 主要功能: 文件加密 .文件夹加密 .软件加密(程序锁.软件锁).文件夹伪装.文件 ...
最新文章
- java jvm性能调优_java jvm性能优化
- 矩阵特征值与行列式、迹的关系
- Android activity 参数传递
- java(6)——+号和++号--号
- linux系统用户组管理
- 《高性能mysql》读书笔记一
- 快讯:Oracle 19c 新特性及官方文档抢鲜下载
- TensorFlow学习笔记(一)——入门资源整理
- 安卓studio没有java.xml_Android文件(Java和XML)被奇怪的XML替换
- 高考新生,天津独立院校转设:南开大学滨海学院转设并入南大本部
- 视频会议中的AEC、AGC、ANS是什么?
- TFS映射关系出错的几种
- 英特尔AI大会:新版AI芯片
- 作为学生,我是怎么半年赚到人生第一个三十万的
- SEO站群优化排名用哪里的服务器比较好
- 微信浏览器、手机版浏览器、pc版浏览器网站的缓存怎么清理? 比较好的三点解决方案
- STM32通定时器时间设置步骤和计算公式方法寄存器值
- windows环境下将yolo-fatest的caffe模型转化为wk模型
- QT开发一款MD5校验工具
- adams功能区不显示_基于ADAMS对初始角和相位角修改模拟力矩波动
热门文章
- 网易云课堂 oracle,网易云课堂DBA学习笔记 (一) 数据库基础
- Silvaco 安装问题
- 周遭心理学的应用-什么是心理学?
- C++课程设计--人民币大小写转换器(MFC)
- 5G系统中BBU与RRU之间前传接口(CPRI)带宽计算
- matlab 三维 作图 坐标轴_这张图(不全),想利用matlab画一张三维图,X Y z 轴分别为经度 纬度 频率,这...
- Qt实战案例(18)——Qt位置相关函数汇总实例
- jQuery 倒计时插件
- 设备划分冲突域和广播域
- VirtualBox Share Folder配置