YOLO style 로 Bounding Box 값 바꾸기
기존 Bounding Box 좌표 값인 (x1, y2, x2, y2) 형식을
Yolo Style인 이미지 크기에 대한 비율 값으로 바꾸고, (centerX, centerY, w, h) 형식으로 바꾸는 소스코드이다.
def convert(size, box):
dw = 1./size[0]
dh = 1./size[1]
x = (box[0] + box[1])/2.0
y = (box[2] + box[3])/2.0
w = box[1] - box[0]
h = box[3] - box[2]
x = x*dw
w = w*dw
y = y*dh
h = h*dh
return (x,y,w,h)
im=Image.open(img_path)
w= int(im.size[0])
h= int(im.size[1])
print(xmin, xmax, ymin, ymax) #define your x,y coordinates
b = (xmin, xmax, ymin, ymax)
bb = convert((w,h), b)
center_x = (디텍트된 X + 박스W /2) / 원본이미지 W
center_y = (디텍트된 Y+ 박스H /2) / 원본이미지 H
box_width = 박스 W/ 원본이미지 W
box_height = 박스 H / 원본이미지 H
참고자료 :
labels 폴더는 다음과 같이 images 폴더 파일에 대응되는 이미지 각각에 대한 라벨 정보가 다음과 같이 정의되어 있다.
0 0.279000 0.597000 0.234000 0.210000
0 0.167000 0.652000 0.166000 0.108000
각 라벨 파일 형식은 다음과 같다.
class_ID center_x center_y box_width box_height
class_ID = {0: con_eq, 1: worker}
center_x = box_center_x / image_width
center_y = box_center_y / image_height
box_width = width / image_width
box_height = height / image_height
image_width = image width (pixel unit)
image_height = image height (pixel unit)
width = boundary box width (pixel unit)
height = boundary box height (pixel unit)
'자료' 카테고리의 다른 글
iTunes 자동 백업을 비활성화하는 방법 (0) | 2022.11.04 |
---|---|
[COX/콕스] CK108 기계식 키보드 단축키 모음 (0) | 2022.10.09 |
[YOLO][Darknet - 윈도우10 오류 해결법] (0) | 2022.06.04 |
YOLO Maker 학습 및 검출 방법 (0) | 2022.06.04 |
Adobe Lightroom classic CC 2019 Download (무료 다운로드) (0) | 2022.02.11 |