기계는 거짓말하지 않는다

min, max 좌표 YOLO label format 변환 본문

AI

min, max 좌표 YOLO label format 변환

KillinTime 2022. 5. 27. 23:50

xmin, ymin, xmax, ymax 좌표를 YOLO label 형식인 center x, center y, width, height 로 변환한다.

원본 이미지 해상도를 나누어 0~1 사이의 비율로 표현한다.

다른 형식으로 된 원본 좌표도 계산 식을 변경하여 응용 가능하다.

def get_object_params(i_width: int, i_height: int, xmin, ymin, xmax, ymax):
    image_width = 1.0 * i_width
    image_height = 1.0 * i_height

    center_x = xmin + 0.5 * (xmax - xmin)
    cneter_y = ymin + 0.5 * (ymax - ymin)
    
    absolute_width = xmax - xmin
    absolute_height = ymax - ymin

    l_x = center_x / image_width
    l_y = cneter_y / image_height
    l_width = absolute_width / image_width
    l_height = absolute_height / image_height

    return l_x, l_y, l_width, l_height
    
# convert
center_x, center_y, width, height = get_object_params(i_width, i_height, xmin, ymin, xmax, ymax)
Comments