@@ -117,46 +117,47 @@ def update_image_and_anno(
117117 path_list .append (path )
118118 img_annos = all_annos [index ]
119119 img = cv2 .imread (path )
120- if i == 0 : # top-left
121- img = cv2 .resize (img , (divid_point_x , divid_point_y ))
122- output_img [:divid_point_y , :divid_point_x , :] = img
123- for bbox in img_annos :
124- xmin = bbox [1 ] * scale_x
125- ymin = bbox [2 ] * scale_y
126- xmax = bbox [3 ] * scale_x
127- ymax = bbox [4 ] * scale_y
128- new_anno .append ([bbox [0 ], xmin , ymin , xmax , ymax ])
129- elif i == 1 : # top-right
130- img = cv2 .resize (img , (output_size [1 ] - divid_point_x , divid_point_y ))
131- output_img [:divid_point_y , divid_point_x : output_size [1 ], :] = img
132- for bbox in img_annos :
133- xmin = scale_x + bbox [1 ] * (1 - scale_x )
134- ymin = bbox [2 ] * scale_y
135- xmax = scale_x + bbox [3 ] * (1 - scale_x )
136- ymax = bbox [4 ] * scale_y
137- new_anno .append ([bbox [0 ], xmin , ymin , xmax , ymax ])
138- elif i == 2 : # bottom-left
139- img = cv2 .resize (img , (divid_point_x , output_size [0 ] - divid_point_y ))
140- output_img [divid_point_y : output_size [0 ], :divid_point_x , :] = img
141- for bbox in img_annos :
142- xmin = bbox [1 ] * scale_x
143- ymin = scale_y + bbox [2 ] * (1 - scale_y )
144- xmax = bbox [3 ] * scale_x
145- ymax = scale_y + bbox [4 ] * (1 - scale_y )
146- new_anno .append ([bbox [0 ], xmin , ymin , xmax , ymax ])
147- else : # bottom-right
148- img = cv2 .resize (
149- img , (output_size [1 ] - divid_point_x , output_size [0 ] - divid_point_y )
150- )
151- output_img [
152- divid_point_y : output_size [0 ], divid_point_x : output_size [1 ], :
153- ] = img
154- for bbox in img_annos :
155- xmin = scale_x + bbox [1 ] * (1 - scale_x )
156- ymin = scale_y + bbox [2 ] * (1 - scale_y )
157- xmax = scale_x + bbox [3 ] * (1 - scale_x )
158- ymax = scale_y + bbox [4 ] * (1 - scale_y )
159- new_anno .append ([bbox [0 ], xmin , ymin , xmax , ymax ])
120+ match i :
121+ case 0 : # top-left
122+ img = cv2 .resize (img , (divid_point_x , divid_point_y ))
123+ output_img [:divid_point_y , :divid_point_x , :] = img
124+ for bbox in img_annos :
125+ xmin = bbox [1 ] * scale_x
126+ ymin = bbox [2 ] * scale_y
127+ xmax = bbox [3 ] * scale_x
128+ ymax = bbox [4 ] * scale_y
129+ new_anno .append ([bbox [0 ], xmin , ymin , xmax , ymax ])
130+ case 1 : # top-right
131+ img = cv2 .resize (img , (output_size [1 ] - divid_point_x , divid_point_y ))
132+ output_img [:divid_point_y , divid_point_x : output_size [1 ], :] = img
133+ for bbox in img_annos :
134+ xmin = scale_x + bbox [1 ] * (1 - scale_x )
135+ ymin = bbox [2 ] * scale_y
136+ xmax = scale_x + bbox [3 ] * (1 - scale_x )
137+ ymax = bbox [4 ] * scale_y
138+ new_anno .append ([bbox [0 ], xmin , ymin , xmax , ymax ])
139+ case 2 : # bottom-left
140+ img = cv2 .resize (img , (divid_point_x , output_size [0 ] - divid_point_y ))
141+ output_img [divid_point_y : output_size [0 ], :divid_point_x , :] = img
142+ for bbox in img_annos :
143+ xmin = bbox [1 ] * scale_x
144+ ymin = scale_y + bbox [2 ] * (1 - scale_y )
145+ xmax = bbox [3 ] * scale_x
146+ ymax = scale_y + bbox [4 ] * (1 - scale_y )
147+ new_anno .append ([bbox [0 ], xmin , ymin , xmax , ymax ])
148+ case _: # bottom-right
149+ img = cv2 .resize (
150+ img , (output_size [1 ] - divid_point_x , output_size [0 ] - divid_point_y )
151+ )
152+ output_img [
153+ divid_point_y : output_size [0 ], divid_point_x : output_size [1 ], :
154+ ] = img
155+ for bbox in img_annos :
156+ xmin = scale_x + bbox [1 ] * (1 - scale_x )
157+ ymin = scale_y + bbox [2 ] * (1 - scale_y )
158+ xmax = scale_x + bbox [3 ] * (1 - scale_x )
159+ ymax = scale_y + bbox [4 ] * (1 - scale_y )
160+ new_anno .append ([bbox [0 ], xmin , ymin , xmax , ymax ])
160161
161162 # Remove bounding box small than scale of filter
162163 if filter_scale > 0 :
0 commit comments