zoukankan      html  css  js  c++  java
  • Dlib Opencv cv2.fitEllipse用于人眼轮廓椭圆拟合

    dlib库的安装以及人脸特征点的识别分布分别在前两篇博文里面

    Dlib Python 检测人脸特征点 Face Landmark Detection

    Mac OSX下安装dlib (Python)

    这篇主要涉及 cv2.ellipse 和 cv2.fitEllipse 的用法

    import cv2
    import dlib
    import numpy as np
    
    detector = dlib.get_frontal_face_detector()
    landmark_predictor = dlib.shape_predictor('/Users/apple/Downloads/shape_predictor_68_face_landmarks.dat')
    
    img = cv2.imread('/Users/apple/Downloads/3-1.jpg')
    faces = detector(img,1)
    left_eye = []
    right_eye = []
    if ( len(faces) > 0):
        for k,d in enumerate(faces):
            shape = landmark_predictor(img,d)
            for i in range(36,42):
                right_eye.append([shape.part(i).x,shape.part(i).y])
            for i in range(42,48):
                left_eye.append([shape.part(i).x,shape.part(i).y])
    
    
    
    
    
    ellipse_left = cv2.fitEllipse(np.array(left_eye))
    ellipse_right = cv2.fitEllipse(np.array(right_eye))
    cv2.ellipse(img, ellipse_left, (0,255,0), 1)
    cv2.ellipse(img, ellipse_right, (0,255,0), 1)
    
    
    
    cv2.fitEllipse(points)
    
    里面的points类型要求是numpy.array([[x,y],[x1,y1]...]) 并不是把所有点都包括在椭圆里面,而是拟合出一个椭圆尽量使得点都在圆上
    
    cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness[, lineType[, shift]]]) 
    
    其中每个参数的意义如下:
    
    · img 图像
    
    · center 中心坐标
    
    · axes 椭圆的尺寸(长短轴)
    
    · angle 旋转角度
    
    · startAngle 起始角度
    
    · endAngle 终止角度
    
    · 后面参数都是跟线条有关的
    
    ellipse_left
    
    ((275.1310119628906, 197.24081420898438),
     (13.491097450256348, 47.203433990478516),
     84.19256591796875)
    
    
    
    
    
    这个时候返回的分别是椭圆的中心坐标,短轴长轴(也就是2b,2a),旋转角度.
    
    center = ellipse_left[0]
    size = ellipse_left[1]
    angle = ellispe_left[2]
    
    
    
    cv2.imshow('PIC',img)
    cv2.waitKey(0)
    

  • 相关阅读:
    HDU 4709 3-idiots FFT 多项式
    多项式的黑科技
    JZYZOJ 2043 多项式除法和取余 NTT 多项式
    JZYZOJ 2042 多项式逆元 NTT 多项式
    网络爬虫(4)--正则表达式
    网络爬虫(3)--Beautiful页面解析
    网络爬虫(2)--异常处理
    网络爬虫(1)--准备工作
    PCL库配置出现的问题(WIN10+VS2013)
    QT笔记(1)--QT编程环境搭建
  • 原文地址:https://www.cnblogs.com/as3asddd/p/7455712.html
Copyright © 2011-2022 走看看