当前位置: 首页 > news >正文

人脸识别(21)

准备工作:找到分类器:

方法:安装opencv软件包,或者把此文件放到根目录

1.用pip安装的opencv不带分类器,所以要下载完整版的,可去官网下载安装,分类器位置在

  opencv\build\etc\haarcascades\haarcascade_frontalface_alt_tree.xml

官网地址点这里: https://github.com/opencv/opencv

 

 

 

 

二 代码实现

import cv2 as cv


# 人脸检测
def face_image(src):
    gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
    #配置人脸检测器的路径
    face_detector = cv.CascadeClassifier(r".\haarcascade_frontalface_alt_tree.xml")
    #多空间进行人脸检测
    '''
        第二个参数是移动距离,
        第三个参数是识别度,越大识别读越高,如果误检测较多,一般把数值调高
    '''
    faces = face_detector.detectMultiScale(gray, 1.01, 1)
    for x, y, w, h in faces:
        # 后两个参数,一个是颜色,一个是边框宽度
        '(x,y)表示起点坐标;w,h分表表示宽,高'
        cv.rectangle(src, (x, y), (x + w, y + h), (0, 0, 255), 2)
    cv.imshow("result", src)


src = cv.imread("peoples.jpg")
cv.imshow("before", src)
face_image(src)
cv.waitKey(0)
cv.destroyAllWindows()

 

 

 

三  视频人脸识别

代码

import cv2 as cv


# 人脸检测
def face_image(src):
    gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
    #配置人脸检测器的路径
    face_detector = cv.CascadeClassifier(r".\lbpcascade_frontalcatface.xml")
    #多空间进行人脸检测
    '''
        第二个参数是移动距离,
        第三个参数是识别度,越大识别读越高,如果误检测较多,一般把数值调高
    '''
    faces = face_detector.detectMultiScale(gray, 1.5, 1)
    for x, y, w, h in faces:
        # 后两个参数,一个是颜色,一个是边框宽度
        '(x,y)表示起点坐标;w,h分表表示宽,高'
        cv.rectangle(src, (x, y), (x + w, y + h), (0, 0, 255), 2)
    cv.imshow("result", src)


#启动媒体设备
capture=cv.VideoCapture(0)
cv.namedWindow('result',cv.WINDOW_AUTOSIZE)

while(True):
    ret,frame=capture.read()
    frame = cv.flip(frame, 1)
    c = cv.waitKey(10)
    if ret:
        face_image(frame)
    #输入esc退出
    if c==27:
        break

cv.destroyAllWindows()

 

效果:

 

转载于:https://www.cnblogs.com/angle6-liu/p/10712980.html

相关文章:

  • (十) 初识 Docker file
  • 神经网络入门
  • CentOS7 环境下 在Hadoop集群安装Hive
  • AWD攻防工具脚本汇总(二)
  • idea maven Running C:\Users\Administrator\AppData\Local\Temp\archetype1tmp
  • JS中map()与forEach()的用法
  • C#实现Form窗口最大化(最小化)
  • 论文阅读 Relocalization, Global Optimization and Map Merging for Monocular Visual-Inertial SLAM...
  • 网络安全 简要记录
  • 【Linux】tar压缩解压缩笔记
  • Android App 实现分享功能及将应用加入分享列表 (分享功能可自定义需要分享的APP)...
  • 扩展C#与元编程
  • thinkphp session 跨域问题解决方案
  • 并行相关文章安全集合写的很好
  • Java List中数值排序
  • 分享一款快速APP功能测试工具
  • Mysql数据库的条件查询语句
  • ng6--错误信息小结(持续更新)
  • October CMS - 快速入门 9 Images And Galleries
  • React中的“虫洞”——Context
  • Redis 懒删除(lazy free)简史
  • spring boot下thymeleaf全局静态变量配置
  • Yeoman_Bower_Grunt
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 力扣(LeetCode)21
  • 如何设计一个比特币钱包服务
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 手写一个CommonJS打包工具(一)
  • 算法-图和图算法
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 系统认识JavaScript正则表达式
  • 自动记录MySQL慢查询快照脚本
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • FaaS 的简单实践
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • !!java web学习笔记(一到五)
  • # Java NIO(一)FileChannel
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #include<初见C语言之指针(5)>
  • #ubuntu# #git# repository git config --global --add safe.directory
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (转)母版页和相对路径
  • **PHP分步表单提交思路(分页表单提交)
  • .jks文件(JAVA KeyStore)
  • .NET Core Web APi类库如何内嵌运行?
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .NET中的Exception处理(C#)
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • :not(:first-child)和:not(:last-child)的用法
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @Validated和@Valid校验参数区别