zoukankan      html  css  js  c++  java
  • 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.识别跟图像像素有关,像素大,识别度高。

    结果:

    低像素:

    高像素:

    天下飞羽,花落凡尘
  • 相关阅读:
    委托事件
    委托使用(2)
    简单的文件流写读
    datalist 分页显示不用PagedDataSource对象
    委托使用(1)
    文件的路径问题
    委托揭秘
    一个简单的文件上传(没有数据库的)
    Quartz 2D 练习2多点触摸画圈
    插件框架精简版 x3py 已在Win/Mac/Linux下测试通过
  • 原文地址:https://www.cnblogs.com/AngelYuFan/p/7208497.html
Copyright © 2011-2022 走看看