• opencv+python3.4的人脸识别----2017-7-19


    opencv3.1  +  python3.4

    第一回合(抄代码,可实现):人脸识别涉及一个级联表,目前能力还无法理解。

    流程:1.读取图像---2.转换为灰度图---3.创建级联表---4.对灰度图使用级联表方法过滤---5.迭代得到的结果依次标记出来---6.保存图像

    完整代码:

    import cv2
    #读取图片
    img = cv2.imread('5.jpg')
    #转化为灰度图
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    #特征级联表
    face_cascade = cv2.CascadeClassifier(r'haarcascade_frontalface_default.xml')
    # print(type(face_cascade))    #<class 'cv2.CascadeClassifier'>
    #多尺寸检测,返回列表  # print(face)     #[[1947 2275  374  374]....
    face = face_cascade.detectMultiScale(
        gray,1.3,5
    )
    print('发现{0}个脸'.format(len(face)))
    for (x,y,w,h) in face:
        #(图像对象,圆心,半径,颜色,封闭?)
        cv2.circle(img,((x+x+w)//2,(y+y+h)//2),w//2,(0,255,0),-1)
    #保存图像
    cv2.imwrite('14Peoele.jpg',img)
    #显示图像
    cv2.imshow('gray',img)
    #防止闪屏
    cv2.waitKey(0)

    注意:1.python3中除法的整数用“//”

        2.识别跟图像像素有关,像素大,识别度高。

    结果:

    低像素:

    高像素:

    天下飞羽,花落凡尘
  • 相关阅读:
    Cookie基本使用
    Chartlet简单易用的图表控件
    JQuery 基础:6.Each的用法
    图的基本算法
    Head First Design Patterns Strategy Pattern
    个人整理的面试题
    Android从SIM卡中获取联系人
    Android 覆盖安装
    Head First Design Patterns Adapter Pattern
    android 获取sim卡运营商信息(转)
  • 原文地址:https://www.cnblogs.com/AngelYuFan/p/7208497.html
Copyright © 2020-2023  润新知