iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >基于OpenCV和Gradio怎么实现简单的人脸识别
  • 895
分享到

基于OpenCV和Gradio怎么实现简单的人脸识别

2023-07-05 23:07:43 895人浏览 薄情痞子
摘要

今天小编给大家分享一下基于OpenCV和Gradio怎么实现简单的人脸识别的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。环境

今天小编给大家分享一下基于OpenCV和Gradio怎么实现简单的人脸识别的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    环境配置

    • gradio 安装 pip install gradio

    • cv2 安装 pip install python-opencv

    实验原理

    cv2有预训练模型face_cascade,可以对人脸进行检测,检测到人脸,绘制框框标识。

    完成检测,调用cv2进行显示。

    基于OpenCV和Gradio怎么实现简单的人脸识别

    程序设计

    # -*- coding: utf-8 -*-"""Created on Sun Apr 10 17:11:06 2022@author: liujianjian"""import gradio as grimport timeimport cv2#############这里需要添加绝对路径###################pathf = './haarcascades/haarcascade_frontalface_alt.xml'pathe = './haarcascades/haarcascade_eye.xml'###########################################

    1.上传图片

    上传图片采用gradio,直接上传即可,或者可加入demo图片,供选择。

    demo = gr.Interface(    face_rec,    gr.Image(),    "image",        examples=["images/1.jpg", "images/2.jpg", "images/3.jpg", "images/4.jpg"],)

    2.人脸识别

    人脸识别简单,复制配置文件到本地,加载进去即可。

        # 转为灰度图    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)    # 创建人脸识别分类器    face_cascade = cv2.CascadeClassifier('./haarcascades/haarcascade_frontalface_default.xml')    face_cascade.load('./haarcascades/haarcascade_frontalface_default.xml')    # 创建人眼识别分类器    eye_cascade = cv2.CascadeClassifier('./haarcascades/haarcascade_eye.xml')    face_cascade.load('./haarcascades/haarcascade_eye.xml')    # 检测人脸    faces = face_cascade.detectMultiScale(gray,                                          scaleFactor=1.15,                                          minNeighbors=3,                                          flags=cv2.IMREAD_GRAYSCALE,                                          minSize=(40, 40))

    3.绘制方框

    就是绘制方框了,绘制显示即可。

        # 在人脸周围绘制方框    for (x, y, w, h) in faces:        img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 255), 2)    # 进行眼部检测    eyes = eye_cascade.detectMultiScale(gray,                                        scaleFactor=1.1,                                        minNeighbors=3,                                        flags=cv2.IMREAD_GRAYSCALE,                                        minSize=(3, 3))    for (ex, ey, ew, eh) in eyes:        # 绘制眼部方框        img = cv2.rectangle(img, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2)

    4.保存预测结果

    调用cv2.imwrite即可,注意图像转换。

    cv2.imwrite(f"result/{time.time_ns()}.jpg", cv2.cvtColor(img, cv2.COLOR_BGR2RGB))

    5.最后运行gradio的lauch

    if __name__ == "__main__":    demo.launch()

    完整代码

    # -*- coding: utf-8 -*-"""Created on Sun April 4 17:11:06 2023@author: liujianjian"""import gradio as grimport timeimport cv2#############这里需要添加绝对路径###################pathf = './haarcascades/haarcascade_frontalface_alt.xml'pathe = './haarcascades/haarcascade_eye.xml'############################################ 人脸检测函数def face_rec(img):    # 转为灰度图    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)    # 创建人脸识别分类器    face_cascade = cv2.CascadeClassifier('./haarcascades/haarcascade_frontalface_default.xml')    face_cascade.load('./haarcascades/haarcascade_frontalface_default.xml')    # 创建人眼识别分类器    eye_cascade = cv2.CascadeClassifier('./haarcascades/haarcascade_eye.xml')    face_cascade.load('./haarcascades/haarcascade_eye.xml')    # 检测人脸    faces = face_cascade.detectMultiScale(gray,                                          scaleFactor=1.15,                                          minNeighbors=3,                                          flags=cv2.IMREAD_GRAYSCALE,                                          minSize=(40, 40))    # 在人脸周围绘制方框    for (x, y, w, h) in faces:        img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 255), 2)    # 进行眼部检测    eyes = eye_cascade.detectMultiScale(gray,                                        scaleFactor=1.1,                                        minNeighbors=3,                                        flags=cv2.IMREAD_GRAYSCALE,                                        minSize=(3, 3))    for (ex, ey, ew, eh) in eyes:        # 绘制眼部方框        img = cv2.rectangle(img, (ex, ey), (ex + ew, ey + eh), (0, 255, 0), 2)        cv2.imwrite(f"result/{time.time_ns()}.jpg", cv2.cvtColor(img, cv2.COLOR_BGR2RGB))    return imgdemo = gr.Interface(    face_rec,    gr.Image(),    "image",        examples=["images/1.jpg", "images/2.jpg", "images/3.jpg", "images/4.jpg"],)if __name__ == "__main__":    demo.launch()

    以上就是“基于OpenCV和Gradio怎么实现简单的人脸识别”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

    --结束END--

    本文标题: 基于OpenCV和Gradio怎么实现简单的人脸识别

    本文链接: https://www.lsjlt.com/news/356253.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • 基于OpenCV和Gradio怎么实现简单的人脸识别
      今天小编给大家分享一下基于OpenCV和Gradio怎么实现简单的人脸识别的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。环境...
      99+
      2023-07-05
    • 基于OpenCV和Gradio实现简单的人脸识别详解
      目录环境配置实验原理程序设计1.上传图片2.人脸识别3.绘制方框4.保存预测结果5.最后运行gradio的lauch完整代码环境配置 gradio 安装 pip install gr...
      99+
      2023-05-14
      OpenCV Gradio实现人脸识别 OpenCV Gradio人脸识别 OpenCV Gradio
    • Python中基于Opencv怎么实现人脸识别
      这篇文章主要讲解了“Python中基于Opencv怎么实现人脸识别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中基于Opencv怎么实现人脸识别”吧!检测人脸。这应该是最基本的...
      99+
      2023-06-02
    • 基于opencv和pillow怎么实现人脸识别系统
      这篇文章主要讲解了“基于opencv和pillow怎么实现人脸识别系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于opencv和pillow怎么实现人脸识别系统”吧!本文不涉及分类器、...
      99+
      2023-06-21
    • 基于python3+OpenCV实现人脸和眼睛识别
      基于python3+OpenCV的人脸和眼睛识别,供大家参考,具体内容如下 一、OpenCV人脸检测的xml文件下载 人脸检测和眼睛检测要用到haarcascade_eye.xml和...
      99+
      2022-11-12
    • 基于Python实现简单的人脸识别系统
      目录前言基本原理代码实现创建虚拟环境安装必要的库前言 最近又多了不少朋友关注,先在这里谢谢大家。关注我的朋友大多数都是大学生,而且我简单看了一下,低年级的大学生居多,大多数都是为了完...
      99+
      2022-11-12
    • 基于opencv和pillow实现人脸识别系统(附demo)
      目录一。人脸检测和数据收集二.训练识别器三.人脸识别和显示本文不涉及分类器、训练识别器等算法原理,仅包含对其应用(未来我也会写自己对机器学习算法原理的一些观点和了解) 首先我们需要知...
      99+
      2022-11-12
    • python+opencv实现的简单人脸识别代码示例
      # 源码如下: #!/usr/bin/env python #coding=utf-8 import os from PIL import Image, ImageDraw import cv def...
      99+
      2022-06-04
      示例 代码 简单
    • Python基于opencv实现的人脸识别(适合初学者)
      目录一点背景知识一、人脸识别步骤 二、直接上代码(1)录入人脸.py(2)数据训练.py(3)进行识别.py三、运行过程及结果1、获取人脸照片于目标文件中2、进行数据训练,...
      99+
      2022-11-13
    • 基于Python的人脸识别功能怎么实现
      这篇文章主要介绍“基于Python的人脸识别功能怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于Python的人脸识别功能怎么实现”文章能帮助大家解决问题。一、 人脸检测人脸检测是指从图像...
      99+
      2023-07-05
    • 基于HTML5的人脸识别技术怎么实现
      今天小编给大家分享一下基于HTML5的人脸识别技术怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起...
      99+
      2022-10-19
    • 怎么使用Python实现简单的人脸识别
      小编给大家分享一下怎么使用Python实现简单的人脸识别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、首先梳理一下实现人脸识别需要进行的步骤:流程大致如此,在此之前,要先让人脸被准确的找出来,也就是能准确区分人脸的分类...
      99+
      2023-06-14
    • 如何基于opencv实现简单的数字识别
      目录前言要解决的问题解决问题的思路总结前言 由于自己学识尚浅,不能用python深度学习来识别这里的数字,所以就完全采用opencv来识别数字,然后在这里分享、记录一下自己在学习过程...
      99+
      2022-11-12
    • Java和OpenCV怎么实现图片中的人脸识别
      要在Java中实现人脸识别,可以使用OpenCV库。以下是一个基本的示例代码:```javaimport org.opencv.co...
      99+
      2023-08-18
      Java OpenCV
    • 基于opencv+java实现简单图形识别程序
      目录前言方法如下总结前言 OpenCV的 全称是:Open Source Computer Vision Library。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视...
      99+
      2022-11-13
    • 基于HTML5怎么实现人脸识别活体认证
      小编给大家分享一下基于HTML5怎么实现人脸识别活体认证,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 近几年,人脸识别技术在身份认证领域的应用已经有了很多应用,例如:支付宝,招行的取款...
      99+
      2022-10-19
    • python opencv怎么实现人脸识别考勤系统
      小编给大家分享一下python opencv怎么实现人脸识别考勤系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python可以做什么Python是一种编程语言...
      99+
      2023-06-14
    • 怎样使用Python实现简单的人脸识别功能
      这篇文章给大家分享的是有关怎样使用Python实现简单的人脸识别功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、首先梳理一下实现人脸识别需要进行的步骤:流程大致如此,在此之前,要先让人脸被准确的找出来,也就...
      99+
      2023-06-25
    • 基于Python实现人脸识别和焦点人物检测功能
      写在前面的话 基于dlib库的模型,实现人脸识别和焦点人物的检测。最后呈现的效果为焦点人物的识别框颜色与其他人物框不一样。 准备工作 需要安装好python环境,安装好dlib、o...
      99+
      2022-11-12
    • Python中如何实现简单人脸识别的示例
      这篇文章给大家分享的是有关Python中如何实现简单人脸识别的示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、库介绍opencv,face_recognition,numpy,以及dlib注意:安装open...
      99+
      2023-06-14
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作