赞
踩
提示:实验示例,仅供参考
Python:下载地址
IDEA Python:下载地址
Open CV:官网
随着人工智能的不断发展,机器视觉越来越重要,如下介绍Opencv中人脸识别应用。
打开Pycharm,点击右上角File,选中Settings
搜索,opencv-python,然后点击左下角,Package Install
搜索,numpy,然后点击左下角,Package Install
本识别使用02.py, 01.py 和 03.py 不用创建
existFace.jpg 有人脸的图片
notFace.jpg 没有人脸的图片
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*- import sys import cv2 # 读取一张需要检测人脸的图片 imgPath = 'imgs\\existFace.jpg' # imgPath = 'imgs\\notFace.jpg' img = cv2.imread(imgPath) # 调用本地cv训练模型,在本地项目对应安装opencv的目录下 face_cascade = cv2.CascadeClassifier('D:\\space\\python\\test1\\venv\\Lib\\site-packages\\cv2\\data\\haarcascade_frontalface_default.xml') # 人脸检测, # 参数: # { # [img:待检测图片,一般为灰度图像加快检测速度], # [scaleFactor--表示在前后两次相继的扫描中,搜索窗口的比例系数。默认为1.1即每次搜索窗口依次扩大10%] # [minNeighbors--表示构成检测目标的相邻矩形的最小个数(默认为3个)。 # 如果组成检测目标的小矩形的个数和小于 min_neighbors - 1 都会被排除。 # 如果min_neighbors 为 0, 则函数不做任何操作就返回所有的被检候选矩形框, # 这种设定值一般用在用户自定义对检测结果的组合程序上] # } # 返回人脸数组 faces = face_cascade.detectMultiScale(img, scaleFactor=1.3, minNeighbors=5) print(faces) # 如果没有人脸 if len(faces) == 0: print('没有人脸,退出') sys.exit() # 遍历人脸 for x, y, w, h in faces: # 画人脸位置-正方形,画RGB白色,线条宽度为1 img2 = cv2.rectangle(img, (x, y), (x + w, y + h), (255, 255, 255), 1) # 取人脸区域 face_area = img2[y:y + h, x:x + w] # 将人脸图片存起来 cv2.imwrite('generate-imgs\\copy.png', img2) cv2.imwrite('generate-imgs\\face.png', face_area) cv2.imshow('img', img2) cv2.waitKey(0) cv2.destroyAllWindows()
不要放弃你的幻想。当幻想没有了以后,你还可以生存,但是你虽生犹死。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。