Spaces:
Running
Running
| # DrawUtils | |
| # not PIL,CV2,Numpy drawing method | |
| import math | |
| # 2024-11-29 add calculate_distance | |
| def points_to_box(points): | |
| x1=float('inf') | |
| x2=0 | |
| y1=float('inf') | |
| y2=0 | |
| for point in points: | |
| if point[0]<x1: | |
| x1=point[0] | |
| if point[0]>x2: | |
| x2=point[0] | |
| if point[1]<y1: | |
| y1=point[1] | |
| if point[1]>y2: | |
| y2=point[1] | |
| return [x1,y1,x2-x1,y2-y1] | |
| def box_to_point(box): | |
| return [ | |
| [box[0],box[1]], | |
| [box[0]+box[2],box[1]], | |
| [box[0]+box[2],box[1]+box[3]], | |
| [box[0],box[1]+box[3]] | |
| ] | |
| def plus_point(base_pt,add_pt): | |
| return [base_pt[0]+add_pt[0],base_pt[1]+add_pt[1]] | |
| def box_to_xy(box): | |
| return [box[0],box[1],box[2]+box[0],box[3]+box[1]] | |
| def to_int_points(points): | |
| int_points=[] | |
| for point in points: | |
| int_points.append([int(point[0]),int(point[1])]) | |
| return int_points | |
| def calculate_distance(xy, xy2): | |
| return math.sqrt((xy2[0] - xy[0])**2 + (xy2[1] - xy[1])**2) |