技术标签: python换人
摄像头中的人脸检测,也是人脸识别的一部分, 摄像头播放的画面本质上是按帧将图片拼凑起来的, 有图片的话,获取图片的中人脸呢再上一篇中我们已经涉及了
想要进行人脸识别, 我们需要OpenCV, 还是先来说一下安装的问题
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simplepip install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simplepip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
1.资料的准备
1.1 人脸特征数据文件的准备
安装完成之后, 我们想要进行人脸识别的话, 还需要一些表示人脸的特征数据, 这些数据文件是存放在
Python环境的安装包下的 ----> Lib ----> site packages ----> cv2 -----> data的文件夹中
如果忘记了Python环境的安装位置, 可以在命令提示符工具/终端上 输入指令where python
在data文件夹中存放的都是xml文件, 这些就是对应的特征数据文件, 将 haarcascade_frontalface_alt.xml 导入到你的编辑工具中,与当前编辑的文件在同一个目录下
1.2 替换图片的准备
我使用的是下面这张旺财脸 o(╥﹏╥)o
2. 代码的实现
材料都准备完毕了, 我们就开始写代码吧
import cv2
if __name__ == '__main__'
# 根据人脸特征的数据 获取人脸检测器
face_detector = cv2.CascadeClassifier('.haarcascade_frontalface_alt.xml')
# 获取摄像头行为
cap = cv2.VideoCapture(0)
while True
# 从摄像头中按帧返回图片
flag,frame = cap.read()
if not flag # 没有图片时flag为False
break
# 将获取的图片置灰 检测效率高一些
face_zones = face_detector
.detectMultiScale(cv2.cvtColor(frame,
code=cv2.COLOR_BGR2GRAY))
# 获取检测到的人脸区域
for x,y,w,h in face_zones
# 读取覆盖图片
wc = cv2.imread('.head.png')
wc = cv2.resize(wc,dsize = (w,h)) # 将该图片的大小重置为人脸的大小
frame[yy+h,xx+w] = wc # 将人脸显示区域 替换成覆盖的图片
cv2.imshow('wangcai',frame) # 显示图片
key = cv2.waitKey(10)
if key == ord('q') # 输入q退出读取
break
cv2.destroyAllWindows()
cap.release()
最终结果如下图
代码运行结果
一、实验目的分析802.3协议 熟悉以太网帧的格式 熟悉ARP报文的格式二、实验环境与因特网连接的计算机网络系统;主机操作系统为windows; WireShark、IE等软件。三、实验步骤1、WireShark的使用及捕获并分析以太帧清空浏览器缓存(在IE窗口中,选择“工具/Internet选项/删除文件”命令)。 启动WireShark,开始分组捕获。 启动主机上的web浏览器。 启动WireShark。窗口中没有任何分组列表。 开始分组捕获:选择“capture”下拉
refs:https://stackoverflow.com/a/52467429/2268680https://stackoverflow.com/a/45918595/22686801. 开发工具有几个东西需要额外安装, 如上面的图2. 用Native Tools VS2017下进入虚拟环境安装OpenSlide-Python:pip install openslid...
UICollectionView集合视图 类似于UiTableview 是一种新的数据展示方式, 比起之前使用button或者是两套自定义cell 来布局 展示图片的方式 使用起来更加的简单方便!创建集合视图的步骤:1. 使用系统的布局UICollectionViewFlowLayout2.设置代理,设置数据源 3. 设置自定义cell/
在使用Glide框架加载图片时,在安卓系统10.0版本上(使用 targetSdkVersion 29)会出现加载不了图片问题,在AndroidManifest.xml文件中application标签下添加android:usesCleartextTraffic="true"android:requestLegacyExternalStorage="true"即可...
如何实现多线程来下载一个文件多线程现在一些场景还是可以起到加速下载的作用的,例如github下载文件的时候有时候只有100kb/s或者更低,但是github下载服务是支持断点续传的。所谓的断点续传就是服务端支持返回所需文件的指定部分。举个栗子,master.zip 总10000字节数,我们只需要5001-10000的部分,我们可以通过设置请求头的方式来告诉服务端我们需要哪部分Range: bytes=5001-10000 所涉及知识线程池io流HttpURLConnection获取g
public ListNode deleteDuplication(ListNode pHead){ ListNode node = new ListNode(-1); ListNode cur = pHead; ListNode tmpHead = node; while(cur!=null){ if(c...
参考文章:http://www.cnblogs.com/zhaoxd07/p/5197669.html当然最重要的是自己的实践,之前试的别人用的老的包 如XXstand.jar,结果并没有成功。此处得到的真知是:官网的才是可信的,虽然不想看英文,只是没有耐心,但是如果仔细看,发现就不会走那么多弯路。实践如下,好记性不如烂笔头!1、下载地址:https://...
1、fixedDelay控制方法执行的间隔时间,是以上一次方法执行完开始算起,如上一次方法执行阻塞住了,那么直到上一次执行完, 并间隔给定的时间后,执行下一次。 2、fixedRate是按照一定的速率执行,是从上一次方法执行开始的时间算起,如果上一次方法阻塞住了,下一次也是不会执行, 但是在阻塞这段时间内累计应该执行的次数,当不再阻塞时,一下子把这些...
一、参考Centos8安装DockerDebian10使用docker安装zabbix5.4Zabbix5.4 监控华为、H3C交换机华为oid查询: https://support.huawei.com/mibtoolweb/enterpriseMibInfo/zhMIB浏览器下载以华为IPS6555E入侵防御为例创建自动发现模板二、模板2.1 创建模板2.2 输入名称 选择群组2.3 选择3个链接模板 点击添加按钮2.4 打开刚创建的模板 切换到自动发现规则页(从链
文章目录公共与行业知识一般能力言语理解:对语言文字的综合分析能力数理思维:快速理解和解决算数问题的能力判断推理:根据一定的先知条件,通过拥有的知识、思维进行判定、推断,对事物得出结论的能力资料分析:主要包括文字类资料、表格类资料、图形类资料和综合类资料四种基本形式,综合考查应试者阅读、理解、分析、计算等方面的能力企业文化、电力与能源战略参见《国家电网有限公司企业文化、电力与能源战略》题库形式与政策中国共产党和中国政府现阶段的重大方针政策, 2020 年 1月至今的国际、国内重大时事专业知识数据结构与算法推荐
动手学习深度学习前置的基础知识都有哪些呢?我们这篇文章来一一列举
首先,尝试:https://blog.csdn.net/weixin_44447680/article/details/89842786不成功的话,就是版本不兼容的问题了,参照:https://blog.csdn.net/shine4869/article/details/103340820最后我安装了Gephi-0.9.1版本 和 Java Version 8版本,成功运行。Gephi-0.9.1下载地址:https://github.com/gephi/gephi/releases/..