小实验:python+opencv实现摄像头人脸识别、人脸马赛克

编程入门 行业动态 更新时间:2024-10-26 14:34:13

小实验:python+opencv实现摄像<a href=https://www.elefans.com/category/jswz/34/925758.html style=头人脸识别、人脸马赛克"/>

小实验:python+opencv实现摄像头人脸识别、人脸马赛克

python学习中,做个小实验熟悉下语句。实验效果是通过本机摄像头实时采集图像,并将人脸区域打码。(这个人脸识别文件是识别正脸的,面部要正对摄像头)
以杰尼龟为例,将其头部打码。。。。

在执行代码前,要确认是否安装了opencv和numpy的库
尚未安装的话,在命令行中输入pip install numpy,pip install opencv-python进行安装
另外一个可能会遇见的问题,找不到这个人脸识别文件。

遇到这个问题时,可以在安装opencv库后,在python根目录下找到:

C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Lib\site-packages\cv2\data

代码如下:

import cv2
import numpy as npif __name__ == '__main__':cap = cv2.VideoCapture(0)              #打开本机摄像头while True:flag,frame = cap.read()if not flag:   #未获取图像则跳出循环breakgray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)   #灰度化face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')   #人脸识别文件faces = face_cascade.detectMultiScale(gray, scaleFactor=1.05, minNeighbors=30)for x, y, w, h in faces:#frame = cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 3)  #框选人脸区域face = frame[y:y+h , x:x+w]				#打码face = face[::15 ,::15]face = np.repeat(face,15,axis = 0)face = np.repeat(face,15,axis = 1)frame[ y:y+h , x:x+w] = face[:h ,:w]cv2.imshow("image", frame)key = cv2.waitKey(1000//24)if key == ord('q'):   #按q退出breakcv2.destroyAllWindows()cap.release()

更多推荐

小实验:python+opencv实现摄像头人脸识别、人脸马赛克

本文发布于:2024-03-15 11:53:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1738830.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:头人   马赛克   python   opencv

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!