加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

最简单体验opencv人脸识别

09/05 16:37
922
阅读需 4 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

所需软件:PyCharm
所需硬件:一台电脑

如果没有安装PyCharm,csdn上面搜一下安装教程就行,很简单的。

打开PyCharm,如果没有装opencv,则点击最下面的terminal,在终端下输入pip install opencn-python, 自动安装opencv库

在这里插入图片描述

新建一个文件夹,再新建一个.py文件

下面去白嫖一个人脸识别的代码,在浏览器输入https://github.com/opencv/opencv/blob/4.x/data/haarcascades/haarcascade_frontalface_default.xml

选raw后ctrl + a选中全部,再ctrl + c复制,回到刚才的文件夹里新建一个.xml文件,然后ctrl + v粘贴,再crtl + s保存一下,搞定。

回到.py文件,把下面的代码复制进去

import cv2                        #引入opencv库
cap = cv2.VideoCapture(0)         #调用PC的摄像头

while True:                       #一直循环,把摄像头抓拍到的每一帧图像都show出来,形成视频
    ret, frame = cap.read()
    if ret:
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #摄像头抓到的图片转为灰度图片,为人脸识别作准备
        faceCascade = cv2.CascadeClassifier('face_detect.xml')
        faceRect = faceCascade.detectMultiScale(gray, 1.1, 5) #表示在前后两次相继的扫描中,搜索窗口的比例系数。默认为1.1即每次搜索窗口依次扩大10%;最后的系数表示构成检测目标的相邻矩形的最小个数(默认为3个,越大越严谨)。
        print(len(faceRect))

        for (x, y, w, h) in faceRect:
            cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2) #画矩形框住人脸
            cv2.putText(frame, 'Human', (x, y - 5),  cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)  #写文字
            
        cv2.imshow('video', frame)  #把摄像头抓拍到的一帧图像show出来
    else: break
    if cv2.waitKey(1) == ord('q'):  #按q退出
        break

运行,你会看到自己的脸蛋儿被识别出来啦!

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
NX3225SA-12.000M-STD-CRS-2 1 Nihon Dempa Kogyo Co Ltd Parallel - Fundamental Quartz Crystal, 12MHz Nom, ROHS COMPLIANT PACKAGE-4
$6.08 查看
74HC1G14GW,125 1 NXP Semiconductors 74HC(T)1G14 - Inverting Schmitt trigger TSSOP 5-Pin
$0.12 查看
TJA1043T/1J 1 NXP Semiconductors TJA1043 - High-speed CAN transceiver SOIC 14-Pin

ECAD模型

下载ECAD模型
$2.33 查看

相关推荐

电子产业图谱