1. 程式人生 > >百度AI人臉識別實現臉部清晰度、光照檢測python

百度AI人臉識別實現臉部清晰度、光照檢測python

一:依賴

二:程式碼實現

def get_quality(baidu_result):
    """傳入rootPath,獨立請求百度介面,返回特徵點.
    Args:
        rootPath:源圖片地址

    Returns:
        quality:影象質量資訊
            'completeness'人臉完整度: 1
            'occlusion'各部分遮擋的概率  {'left_eye': 0, 'right_cheek': 0.02153110132, 'nose': 0, 'chin_contour': 0, 'mouth': 0, 'left_cheek': 0.007566938177, 'right_eye': 0},
            'blur'模糊程度 : 1.130641479e-12
            'illumination'光照程度: 202
    """
    try:
        # 單獨調取介面
        result = get_faceList(baidu_result)

        quality = result['quality']

        # 日誌
        # logger.info('get_quality')
        return quality

    except Exception as e:
        logger.error('get_quality ERROR')
        logger.error(e)


def get_blur(baidu_result):
    """判斷人臉模糊程度.
    人臉模糊程度,範圍[0~1],0表示清晰,1表示模糊,建議大於0.1

    Returns:

    """
    try:
        result = get_quality(baidu_result)

        blur = result['blur']
        # 日誌
        # logger.info('blur: %s', str(blur))
        return blur

    except Exception as e:
        logger.error('get_blur ERROR')
        # logger.info('blur: %s', str(blur))
        logger.error(e)


def get_illumination(baidu_result):
    """判斷人臉光照程度.
    取值範圍在[0~255], 表示臉部區域的光照程度 越大表示光照越好,建議大於100

    Returns:

    """
    try:
        result = get_quality(baidu_result)

        illumination = result['illumination']

        # 日誌
        # logger.info('illumination: %s', str(illumination))
        return illumination

    except Exception as e:
        logger.error('get_illumination ERROR')
        # logger.info('illumination: %s', str(illumination))
        logger.error(e)

# 打賞鼓勵請掃支付寶微信二維碼O(∩_∩)O金額不限噢噢!如果有修改建議或者疑問請留言!

支付寶
微信支付