python opencv图像加密解密算法优化

今天给大家带来的是图像加密解密算法的优化
这是我的设计思路
import cv2
import numpy as np
aaa=cv2.imread(“xxx.jpg”,0)
//这里xxx是路径下图片名字,格式你随意好了哈哈哈
r,c=aaa.shape
//通过shape函数读取图像的宽度高度
key=np.random.randint(0,256,size=[r,c],dtype=np.uint8)
//生成一个随机图像作为key
encryption=cv2.bitwise_xor(aaa,key)
//通过异或函数加密
decryption=cv2.bitwise_xor(encryption,key)//解密
def resizeimg(x):
//我自己设计的函数为了压缩尺寸
y=cv2.resize(x,(r//3,c//3))
//宽度高度改为原图大小1/3
cv2.imshow(“x”,y)
//展示图片,x是窗口名
cv2.waitKey()
cv2.destroyAllWindows()
resizeimg(aaa)//调用函数
resizeimg(key)//同上
resizeimg(encryption)//同上
resizeimg(decryption)//同上
为什么要自己设计这个函数,因为有时候我们的窗口过大读取图像的时候不方便展示全部图像那就得压缩,如果像我这个要展示四张图片的怎么办,一个个加会非常麻烦,函数就是一个很好的工具
当然如果你需要导出图片的话那也可以在函数里加上imwtite导出到项目文件夹
没有注释的代码如下:

import cv2
import numpy as np
aaa=cv2.imread("xxx.jpg",0)
r,c=aaa.shape
key=np.random.randint(0,256,size=[r,c],dtype=np.uint8)
encryption=cv2.bitwise_xor(aaa,key)
decryption=cv2.bitwise_xor(encryption,key)
def resizeimg(x):
    y=cv2.resize(x,(r//3,c//3))
    cv2.imshow("x",y)
    cv2.waitKey()
    cv2.destroyAllWindows()
resizeimg(aaa)
resizeimg(key)
resizeimg(encryption)
resizeimg(decryption)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值