logo资料库

Logistic 置乱彩色图像加密 算法 python.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
Logistic 置乱彩色图像加密 置乱彩色图像加密 算法算法 python 置乱彩色图像加密 算法算法 python Logistic 置乱彩色图像加密 Logistic 图像置乱加密算法,可以加密图像,算法开销小,简单易懂,但是网上没有找到python代码,我就自己写了一个。原 理以及展示可以参考 这篇博文 以及这篇 解码只需要吧加密图像带入算法,即可得到解密后图像。 我优化了算法,对于彩色图像,灰度图像都适用。 以下是算法代码 # logistic encrypted for image from PIL import Image import numpy as np def logic_encrypt(im, x0, mu): xsize, ysize = im.size im = np.array(im).flatten() num = len(im) for i in range(100): x0 = mu * x0 * (1-x0) E = np.zeros(num) E[0] = x0 for i in range(0,num-1): E[i+1] = mu * E[i]* (1-E[i]) E = np.round(E*255).astype(np.uint8) im = np.bitwise_xor(E,im) im = im.reshape(xsize,ysize,-1) im = np.squeeze(im) im = Image.fromarray(im) return im 以下是测试代码 import matplotlib.pyplot as plt def img_hist(im): im = np.array(im) plt.hist(im.flatten(), bins = 256) plt.show() im = Image.open("lena.png") # im = im.convert("L") x0 = 0.51 mu = 3.7 im_en = logic_encrypt(im, x0, mu) im_de = logic_encrypt(im_en, x0, mu) img_hist(im_en) 下面是实验结果
作者:Maxwave13
分享到:
收藏