百度AI人脸识别实现脸部清晰度、光照检测python

一:依赖

https://blog.csdn.net/weixin_41803874/article/details/81200588

二:代码实现

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)

猜你喜欢

转载自blog.csdn.net/weixin_41803874/article/details/81201521