咱们使用opencv官方提供的分类器,包括面部识别,侧脸识别,眼睛识别等,如果想训练自己的分类器可以看我另外一篇文章。
我下载好的三个分类器,老铁们自取
链接:https://pan.baidu.com/s/1TqunSL6ne0dXW5TyO7DGWw
提取码:9420
三、代码讲解
准备好以上工作,开始进行操作过程
import cv2
camera = cv2.VideoCapture(0)
face_casecade = cv2.CascadeClassifier(r'C:\Users\Gaomagic\PycharmProjects\kouzhaodetect\mask\xml\cascade.xml')
导入cv2包。
cv2.VideoCapture(0)打开摄像头,0表示笔记本内置摄像头
cv2.CascadeClassifier()加载分类器,括号里面写入刚才下载的分类器的路径,注意:要英文路径,且前面加上r,否则\表示转义符号。
while (True):
ret, frame = camera.read()
进入一个while循环,camera.read()读取一帧图像,frame为读取到的图片,ret为bool变量要么true,要么flase,当读取到图像则为true
if ret:
gray_img = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
face = face_casecade.detectMultiScale(gray_img, 1.3, 2)
ret为true时进入if判断,cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)表示把读取到的一帧图片frame转换为灰度图。face=face_casecade.detectMultiScale()第一个参数是转换完的灰度图。第二个参数是每次缩小图像的比例,默认1:1。第三个参数是匹配成功所需要的周围矩形框的数目,每一个特征匹配到的区域都是一个矩形框,只有多个矩形框同时存在时,才认为是匹配成功,比如人脸,这个默认值是3。
for (x, y, w, h) in face:
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 2)
print("(x:",(x+w)/2,",y:",(y+h)/2,")")
cv2.imshow("camera",frame);
进入for循环,cv2.rectangle()在图上绘制矩形,第一个参数为读取到的图片,第二个参数为左上点的坐标,第二个参数是右下点的坐标,第三个参数是RGB值,第四个参数是矩形边框厚度。
cv2.imshow("camera",frame)将画面展示出来。
if cv2.waitKey(1) & 0xff == ord('q'):
break
如果键盘输入q则退出死循环,ord()是吧q转换为ASCALL码
camera.release()
cv2.destroyAllWindows()
关闭窗口和摄像头
四、运行结果
import cv2
camera = cv2.VideoCapture(0)
face_casecade = cv2.CascadeClassifier(r'C:\Users\Gaomagic\PycharmProjects\kouzhaodetect\mask\xml\cascade.xml')
while (True):
ret, frame = camera.read()
if ret:
gray_img = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
face = face_casecade.detectMultiScale(gray_img, 1.3, 2)
for (x, y, w, h) in face:
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 2)
print("(x:",(x+w)/2,",y:",(y+h)/2,")")
cv2.imshow("camera",frame);
if cv2.waitKey(1) & 0xff == ord('q'):
break
camera.release()
cv2.destroyAllWindows()
新人博主,若有错误之处请指出。
文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结一、安装opencv-python这里推荐使用pycharm直接安装opencv-python打开文件——设置——python解释器——点击+号搜索opencv-python,点击安装包,等待片刻即可安装好检查是否安装好,新建一个项目输入以下代码,若无报错则安装好import cv2二、准备分类器咱们使用opencv官方提供的分类器,包括面部识别,侧...
本程序基于
OpenCV
-
Python
版本的人脸模型训练与识别,基于
OpenCV
图形识别库,
Python
实现的人脸模型训练,根据输入的人脸图片进行学习和训练,创建识别模型,不仅完成了单张图片的识别与展示,同时也实现了本地
摄像头
采集的实时
人脸识别
的简单验证。
有很多初学
Python
的小伙伴们都觉得
Python
比较难学,看书吧,看了就忘了,网上的一些
教程
又是写的含糊不清,故而学习起来很吃力......
博客中有对应的讲解和演示,避免走弯路,费时费力。也真心希望能够帮助正在苦学
Python
程序设计的小伙伴们,你们的成长是我最大的幸福。
这是我自己设计的
一个
人脸识别
系统的课题,基于
Python
语言研发了
人脸识别
管理系统,并在
Pycharm
平台完成主要功能模块的分析与设计,在
摄像头
采集到完整人脸信息的同时,对人员的身份进行认证和管理。本文所设计的
人脸识别
系统一方面可以实现人员的安全认证功能,还能够给重要场所的人员管理提供安全保障,测试结果表明:该系统能够准确识别人脸信息,并显示当前人员的录入时名字,而没有录入的人脸显示unknown,为有效解决人员管理问题提供了参考。使得人员安全管理系统具备了更高的实用价值,有着巨大市场潜力和应用前景。以下是重要内容阐述:
1、
人脸识别
部分主要是依靠人脸特征提取来实现;
2、
摄像头
捕获人脸后,会进行图像预处理,包括噪声处理、光照预处理和几何预处理;
3、采用卷积神经网络为
人脸识别
算法;
4、基于
Python
和
Pycharm
平台来实现系统设计;
5、通过CNN训练发现,能够对人脸进行准确识别,识别率高达97%;
# This is a sample
Python
script.
# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
import numpy as np
import cv2 as cv
将
Pycharm
接上 Anaconda 环境的解释器
( 我这里是使用了 Anaconda 环境下 自建的 tensorflow 虚拟环境 )
注:记得在 Anaconda Prompt (Anaconda3) 里 提前安装好
opencv
和
opencv
-contrib 模块使用电脑
摄像头
进行样本采集
我这里分别采集2个人的样本 (各1000张)注:第
一个
人:
第二个人:
简述步骤:Notes:
说明一下:
这个代码 功能为 按下q 键 退出
摄像头
检测
最后附上效果图片:............
你可以使用
OpenCV
和
Python
来进行交通标志识别。首先,你需要安装
OpenCV
和numpy库。然后,可以使用CascadeClassifier来检测图像中的交通标志。你需要使用训练好的分类器来检测交通标志。你可以使用以下代码:
import cv2
import numpy as np
#加载分类器
cascade_classifier = cv2.CascadeClassifier("classifier.xml")
#加载图像
img = cv2.imread("traffic_sign.jpg", cv2.IMREAD_COLOR)
#转化为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#运行分类器
signs = cascade_classifier.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=5)
#标出交通标志
for (x, y, w, h) in signs:
cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
#显示图像
cv2.imshow("traffic sign detection", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
请注意,在代码中,CascadeClassifier函数是用于加载分类器的,detectMultiScale函数用于检测交通标志。你需要使用正确的分类器文件路径和图像文件路径。
Anaconda+tensorflow环境下,在pycharm中安装matplotlib教程(解决TypeError: LoadLibrary() argument 1 must be str, n)
CSDN-Ada助手:
(详细教程)opencv+python+pycharm 训练属于自己的分类器(以口罩识别为例)
Gaomagic: