简体   繁体   中英

Enlarge bounding box by factor

I'm getting coordinate for recognized face bounding box from "face_recognition.face_location" as (top, right, bottom, left) in css order, and I want to enlarge the box by some factor below is the function I wrote for that using python, But it didn't give the expected results.

EXPANDING_FACTOR=0.75
def enlarge_bounding_box(t, r, b, l):
    """
    Enlarge the bounding box based on the expanding factor
    """
    # create a larger bounding box with buffer around keypoints
    t = int(t - EXPANDING_FACTOR * t)
    r = int(r - EXPANDING_FACTOR * r)
    b = int(b - EXPANDING_FACTOR * b)
    l = int(l - EXPANDING_FACTOR * l)
    t = 0 if t < 0 else t
    r = 0 if r < 0 else r
    b = 0 if b < 0 else b
    l = 0 if l < 0 else l
    return t, r, b, l

After some trial and error I was able to achieve desired results. Here shape is the image numpy array shape.

EXPANDING_FACTOR=0.75
def enlarge_bounding_box(t, r, b, l, shape):
    """
    Enlarge the bounding box based on the expanding factor
    """
    # create a larger bounding box with buffer around keypoints
    t = int(t - EXPANDING_FACTOR * t)
    r = int(r + EXPANDING_FACTOR * r)
    b = int(b + EXPANDING_FACTOR * b)
    l = int(l - EXPANDING_FACTOR * l)
    t = 0 if t < 0 else t
    r = shape[1] if r > shape[1] else r
    b = shape[0] if b > shape[0] else b
    l = 0 if l < 0 else l
    return t, r, b, l

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM