OpenCV操作 脸部打码-程序员宅基地

技术标签: 操作  认识  opencv  

案例 Fu Xianjun. All Rights Reserved.

代码如下:

import cv2
import numpy as np
weini=cv2.imread("weini.jpg",0)
r,c=weini.shape
mask=np.zeros((r,c),dtype=np.uint8)
mask[33:87,60:108]=1
key=np.random.randint(0,256,size=[r,c],dtype=np.uint8)

weiniXorKey=cv2.bitwise_xor(weini,key)
encryptFace=cv2.bitwise_and(weiniXorKey,mask*255)
noFace1=cv2.bitwise_and(weini,(1-mask)*255)
maskFace=encryptFace+noFace1

extractOriginal=cv2.bitwise_xor(maskFace,key)
extractFace=cv2.bitwise_and(extractOriginal,mask*255)
noFace2=cv2.bitwise_and(maskFace,(1-mask)*255)
extractweini=noFace2+extractFace

cv2.imshow("weini",weini)
cv2.imshow("maskFace",maskFace)
cv2.waitKey()
cv2.destroyAllWindows()

结果如下图:
在这里插入图片描述
原图像:
在这里插入图片描述

加密后的图像:
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_56723411/article/details/115875306

智能推荐

elasticsearch-5.5.2启动失败报错:max number of threads [1024] for user [lishang] likely too low_max number of threads [1024] for user [work] is to-程序员宅基地

文章浏览阅读1.4w次,点赞4次,收藏12次。错误提示:ERROR: [1] bootstrap checks failed [1]: max number of threads [1024] for user [elasticsearch] is too low, increase to at least [2048]错误原因:启动检查未通过 elasticsea..._max number of threads [1024] for user [work] is too low, increase to at leas

李嘉诚又“跑路”?卖了一代“地王”,大赚38亿!-程序员宅基地

文章浏览阅读201次。李嘉诚又有新动作了!7月23日晚,李嘉诚家族名下的长实集团发布公告称,以总价约71.02亿元(约10.12亿美元)价格,把旗下成都“南城都汇”项目,卖给“禹洲集团”和“成都瑞卓置业有限公司”,两家房企一人一半(各占50%股权);而李嘉诚将从中“赚”(未经审核收益)约38.11亿元。李嘉诚71亿卖掉成都“地王”7月23日晚,李嘉诚旗下公司长实集团发布了一则公告。公告称,由长实集团子公司所持有的成都南城都汇项目卖了,接盘方为一家名为RZ3262019 Limited的公司,股东分别为禹州集团控股有限公司

层次分析法详解(AHP),python代码,楼盘综合水平评价算法_pycharm ahp-程序员宅基地

文章浏览阅读2.6k次,点赞4次,收藏42次。该文章讲述了多层次分析法代码讲解,以及如何应用到楼盘综合水平分析当中_pycharm ahp

zeromq 中的 zmq_bind-程序员宅基地

文章浏览阅读2.8k次。zmq_bind:该api ,在一个socket上接受一个正在连接的连接 int zmq_bind (void '*socket', const char '*endpoint'); 它 绑定 socket到一个本地的端口,并且在这个端口上接受一个正在准备接入的连接 这个endpoint 是一个字符串,包含协议,地址,端口example: “tcp://_zmq_bind

乌鸦飞过flash素材下载_������������-程序员宅基地

文章浏览阅读199次。[quote]����������������1[url=http://www.greenxf.com/soft/5/095/list95_1.html]������������[/url] [url=http://www.greenxf.com/soft/42138.html]Photoshop CC ��������V14.0 ������(photoshop cc ������)[/url]...

mem系列函数使用总结_mem函数-程序员宅基地

文章浏览阅读2.7k次,点赞8次,收藏19次。mem系列函数是我们在平时写C++的过程中经常会用到的函数,现在写一篇博客来总结一下它们的用法。mem系列函数主要是用来操作内存,使用这些函数需要在源文件中包含头文件cstring。 memset 函数原型:void *memset(void*s ,int ch,size_t n);函数描述:将内存地址s处的n个字节的每个字节都替换为ch,并返回s。memset函数经常用来..._mem函数

随便推点

ubuntu安装bochs遇到的问题_致命错误: gtk/gtk.h:没有那个文件或目录-程序员宅基地

文章浏览阅读1.3k次。gtk_enh_dbg_osdep.cc:20:21: 致命错误: gtk/gtk.h:没有那个文件或目录编译中断解决方法:sudo apt-get install libgtk2.0-devsudo make dist-clean 一定要清除干净sudo ./configure --enable-debugger --enable-disasmsudo make_致命错误: gtk/gtk.h:没有那个文件或目录

【系统分析师】8.计算机组成和体系结构_2的-100阶码-程序员宅基地

文章浏览阅读244次。计算机组成和体系结构 浮点数 表示:尾数*基数的指数次方,2的-100 次方*5,5就是尾数,-100就是指数(阶码) 尾数,用尾码存储,标识数值,和数值的正负 指数,用阶码存储,标识精度,指数的正负 尾数决定精度(1.123456 就比 1.2 精度搞),指数决定范围(2的1次方 就没..._2的-100阶码

webpack4 优化耗时分析speed-measure-webpack-plugin插件_speed-measure-webpack-plugin webpack 4-程序员宅基地

文章浏览阅读1w次。能够列出输出、loader和plugins的耗时,过长将会使用黄色和红色显示1、下载 cnpm install -D speed-measure-webpack-plugin 2、使用 const SpeedMeasurePlugin=require('speed-measure-webpack-plugin') const smp = new SpeedMeasurePlugin(); smp.wrap({配置config})效果图:代码示例:const path = requ_speed-measure-webpack-plugin webpack 4

TPM零知识学习六 —— tpm2-tools源码安装_libtpm2toolsapi.so-程序员宅基地

文章浏览阅读1.7k次。TPM零知识学习六 —— tpm2-tools源码安装_libtpm2toolsapi.so

linux ssh 免登录设置_linux设置免登陆-程序员宅基地

文章浏览阅读711次。使用一种被称为"公私钥"认证的方式来进行ssh登录. "公私钥"认证方式简单的解释:首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了。步骤如下_linux设置免登陆

nrm运行出错internal/validators.js:124 throw new ERR_INVALID_ARG_TYPE(name, ‘string‘, value);_internal/validators.js:124 14:47:45.642 throw new -程序员宅基地

文章浏览阅读388次。学习Vue.js过程中,安装并运行nrm时出现的错误笔记:// const NRMRC = path.join(process.env.HOME, '.nrmrc');const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');在nrm安装目录下,找到cli.js文件,修改:注释掉第十七行,改为上述代码未注释的即可;..._internal/validators.js:124 14:47:45.642 throw new err_invalid_arg_type(name,

推荐文章

热门文章

相关标签