zoukankan      html  css  js  c++  java
  • 简单的 Python 人脸识别实例

    原文链接:http://www.one2know.cn/python7/

    案例一 导入图片

    • 思路: 1.导入库 2.加载图片 3.创建窗口 4.显示图片 5.暂停窗口 6.关闭窗口
    # 1.导入库
    import cv2
    
    # 2.加载图片
    img = cv2.imread('a.png')
    
    # 3.创建窗口
    cv2.namedWindow('window 1 haha')
    
    # 4.显示图片
    cv2.imshow('window 1',img)
    
    # 5.暂停窗口
    cv2.waitKey(0)
    
    # 6.关闭窗口
    cv2.destroyAllWindows()
    

    案例二 在图片上添加人脸识别

    • 思路: 1.导入库 2.加载图片 3.加载人脸模型 4.调整图片灰度 5.检查人脸 6.标记人脸 7.创建窗口 8.显示图片 9.暂停窗口 10.关闭窗口
    # 1.导入库
    import cv2
    
    # 2.加载图片
    img = cv2.imread('a.png')
    
    # 3.加载人脸模型,opencv官网下载
    face = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
    
    # 4.调整图片灰度:没必要识别颜色,灰度可以提高性能
    gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
    
    # 5.检查人脸
    faces = face.detectMultiScale(gray)
    
    # 6.标记人脸for (x,y,w,h) in faces:    
        # 里面有4个参数 1.写图片 2.坐标原点 3.识别大小 4.颜色 5.线宽    
        cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),4)
    
    # 7.创建窗口    
        cv2.namedWindow('window 1 haha')
    
    # 8.显示图片
    cv2.imshow('window 1', img)
    
    # 9.暂停窗口
    cv2.waitKey(0)
    
    # 10.关闭窗口
    cv2.destroyAllWindows()
    

    案例三 调用摄像头

    • 思路: 1.导入库 2.打开摄像头 3.获取摄像头实时画面 4.释放资源 5.关闭窗口
    # 1.导入库
    import cv2
    
    # 2.打开摄像头
    capture = cv2.VideoCapture(0)
    
    # 3.获取摄像头实时画面
    cv2.namedWindow('camera')
    while True:    
        #3.1 获取摄像头的帧画面    
        ret,frame = capture.read()    
        #3.2 显示图片(渲染画面)    
        cv2.imshow('window 1',frame)    
        #3.3 暂停窗口    
        if cv2.waitKey(5) & 0xFF == ord('q'):
            break
            
    # 4.释放资源
    capture.release()
    
    # 5.关闭窗口
    cv2.destroyAllWindows()
    

    案例四 摄像头识别人脸

    • 思路: 1.导入库 2.加载人脸模型 3.打开摄像头 4.创建窗口 5.获取摄像头实时画面 6.释放资源 7.关闭窗口
    # 1.导入库
    import cv2
    
    # 2.加载人脸模型
    face = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
    
    # 3.打开摄像头
    capture = cv2.VideoCapture(0)
    
    # 4.创建窗口cv2.namedWindow('window 1')
    
    # 5.获取摄像头实时画面
    while True:    
        # 5.1 获取摄像头的帧画面    
        ret,frame = capture.read()    
        # 5.2 图片灰度调整    
        gray = cv2.cvtColor(frame,cv2.COLOR_RGB2GRAY)    
        # 5.3 检查人脸    
        faces = face.detectMultiScale(gray)    
        # 5.4 标记人脸    
        for (x, y, w, h) in faces:        
            # 里面有4个参数 1.写图片 2.坐标原点 3.识别大小 4.颜色 5.线宽        
            cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 4)    
        # 5.5 显示图片        
            cv2.imshow('camera',frame)    
        # 5.6 暂停窗口        
            if cv2.waitKey(5) & 0xFF == ord('q'):            
                break
    
    # 6.释放资源
    capture.release()
    
    # 7.关闭窗口
    cv2.destroyAllWindows()
    
  • 相关阅读:
    vivim (十一):文本重排
    vivim (十):接出(复制)
    python的函数
    从oracle11g向oracle9i导数据遇到的一些问题
    vivim (十二):中介字元正则表达式
    DataList如何实现横向排列数据交替行变色!
    跳出率对百度排名的影响越来越大
    asp.net 服务器端控件使用服务器端变量
    .net .用户控件和页面的加载顺序、生命周期
    网站如何让被DOMZ收录
  • 原文地址:https://www.cnblogs.com/peng8098/p/python_basis_7.html
Copyright © 2011-2022 走看看