已知四边形坐标如何转换为归一化xywh格式边界框
8点四边形坐标转归一化xywh边界框方法
转换步骤
- 第一步:提取坐标极值
从你的四边形顶点坐标数组中计算x、y轴的最大、最小值,得到轴对齐外接矩形的边界:
x_min = min(all_points_x) x_max = max(all_points_x) y_min = min(all_points_y) y_max = max(all_points_y)
- 第二步:计算像素级xywh坐标
按要求的x_center y_center width height格式计算原始像素坐标:
width = x_max - x_min height = y_max - y_min x_center = x_min + width / 2 y_center = y_min + height / 2
- 第三步:归一化处理
获取当前图片的像素宽度img_width和像素高度img_height,按规则做归一化,得到0~1范围的最终坐标:
norm_x_center = x_center / img_width norm_y_center = y_center / img_height norm_width = width / img_width norm_height = height / img_height
示例计算
以你给出的示例坐标为例:all_points_x = [613, 2007, 1769, 581],all_points_y = [1767, 1674, 2260, 2395],假设图片分辨率为2560×2880像素:
- 计算极值:x_min=581,x_max=2007,y_min=1674,y_max=2395
- 像素级xywh:width=1426,height=721,x_center=1294,y_center=2034.5
- 归一化后结果:
0.505 0.706 0.557 0.250(保留三位小数)
内容的提问来源于stack exchange,提问作者Dalireeza
相关产品推荐
相关产品推荐

