OpenCV轻松入门教你打码@Fu Xianjun. All Rights Reserved.

该程序实现了对脸部图像的打码和加密,通过使用随机密钥进行异或操作和位与操作来隐藏脸部信息。在加密过程中,首先读取lena.bmp图像,然后创建一个遮罩并生成一个密钥。脸部信息经过加密并与原图的非脸部部分结合,形成打码图像。解码时,通过逆操作还原脸部信息,从而达到保护隐私的目的。
摘要由CSDN通过智能技术生成

@Fu Xianjun. All Rights Reserved.

这个程序是对脸部打码,所编写的程序,

shenmi.png

 

lena=cv2.imread(“lena.bmp”,0)
r,c=lena.shape
mask=np.zeros((r,c),dtype=np.uint8)
mask[220:400,250:350]=1
key=np.random.randint(0,256,size=[r,c],dtype=np.uint8) # 获取密匙
lenaXorKey=cv2.bitwise_xor(lena,key) # 对原图像加密
encryptFace=cv2.bitwise_and(lenaXorKey,mask*255) # 获取加密图的脸部信息
noFace1=cv2.bitwise_and(lena,(1-mask)255) # 将原图的脸部位置置0
maskFace=encryptFace+noFace1 # 得到打码的原图
#解码
extractOriginal=cv2.bitwise_xor(maskFace,key) # 得到脸部的原始信息
extractFace=cv2.bitwise_and

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值