python对图片加密显示

标签:
it |
分类: python图像处理 |
1、思路
RGB图像每个像素有3个0~255的数字。如果把数字化为二进制,对这个二进制数进行处理,这里使用逆向排列(也可以使用其他排列法),例如:143→0b10001111→10001111→11110001→0b11110001→241(0b代表二进制)。然后换回十进制,这个像素的三个点将完全不一样,最后图片也完全变了。
2、图片素材http://s13/mw690/005JTcFkzy7gM9mWSte5c&690
3、代码
定义函数,这个函数功能为输入一个数x,
伪代码:
转为二进制(bin(x).replace('0b','')),
这个二进制
上述二进制前面加‘0b’,再转回十进制数字int( ?,2)
代码:
def jiami(x):
导入图片并调用函数jiami()处理
from skimage import io
x=io.imread('C:\\Users\\Administrator\\Desktop\\picture\\光辉\\光辉2.jpg')#图片路径根据自己更改
io.imshow(x)
i,j,k=x.shape
y=uint8(zeros(x.shape))
for q in range(i):
io.imshow(y)
新图片:
对y执行上述这一系列操作,会返回z(z等于之前导入的图片x),即解码 (逆序再逆序得到正序)
i,j,k=y.shape
z=uint8(zeros(y.shape))
for q in range(i):
io.imshow(z)
io.imsave('C:\\Users\\Administrator\\Desktop\\picture\\光辉\\光辉test1.jpg',z)