You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已知新旧图像尺寸与原多边形坐标 计算缩放后多边形新坐标

图像关联多边形缩放适配顶点坐标计算方法

核心计算逻辑

多边形随图像缩放的本质是对所有顶点坐标做同规则的线性映射,根据适配模式不同分为两种计算方式:

模式1:直接拉伸填满目标图像(无黑边、可能改变图像比例)

这是最常用的全填充缩放适配逻辑,分别计算宽、高两个维度的缩放比例,对每个顶点的x、y坐标分别按对应比例换算即可:

  1. 先计算两个方向的缩放系数
    • 宽度缩放系数:scale_x = 目标图像宽度 / 原始图像宽度
    • 高度缩放系数:scale_y = 目标图像高度 / 原始图像高度
  2. 代入给出的尺寸参数计算具体系数:
    scale_x = 640 / 1980 ≈ 0.3232
    scale_y = 480 / 1080 ≈ 0.4444
    
  3. 逐顶点换算坐标,换算公式为:
    新x坐标 = 原始x坐标 * scale_x
    新y坐标 = 原始y坐标 * scale_y
    
  4. 代入给出的原始顶点列表,计算得到的缩放后顶点约为:
    • (100,200) → (32, 89)
    • (200,300) → (65, 133)
    • (300,400) → (97, 178)
    • (50,60) → (16, 27)
    • (90,100) → (29, 44)
    • (400,300) → (129, 133)

模式2:等比例缩放适配(保持原始图像比例、可能留黑边)

如果要求图像不发生拉伸形变,需要取宽、高缩放系数中更小的值作为全局统一缩放系数,再额外计算居中偏移量修正坐标:

  1. 统一缩放系数:scale = min(scale_x, scale_y),本题中取约0.3232
  2. 计算宽高方向的黑边偏移量:
    • 宽度方向总留白:offset_x_total = 目标图像宽度 - 原始图像宽度 * scale
    • 高度方向总留白:offset_y_total = 目标图像高度 - 原始图像高度 * scale
    • 单方向居中偏移:offset_x = offset_x_total / 2,offset_y = offset_y_total / 2
  3. 顶点换算公式为:
    新x坐标 = 原始x坐标 * scale + offset_x
    新y坐标 = 原始y坐标 * scale + offset_y
    

注意:最终计算得到的浮点坐标可根据业务场景(如前端渲染、CV标注转换)取整或保留指定小数位,避免精度问题导致多边形错位。

内容的提问来源于stack exchange,提问作者DholuBholu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 13:33:25