【问题标题】:getting equivalent pixel of two different wide resolutions获得两种不同宽分辨率的等效像素
【发布时间】:2014-11-15 08:45:55
【问题描述】:

我想获得两种不同宽分辨率的等效像素位置。

这是一个例子。

在 1366x768 分辨率下,所需像素位于第 120 行和第 300 列。 我想将其转换为较低的分辨率,并获得相当于 120x300 点的原始分辨率和转换后的分辨率。

【问题讨论】:

    标签: c++ opencv resolutions


    【解决方案1】:

    使用百分比。

    例如120/1366=60/683=x ~ 0.0878300/768=25/64=y ~ 0.3906。现在只需将这些百分比乘以您想要的分辨率。

    例如,如果您的分辨率为800x600,并且希望该位置乘以。

    x = 800 * 0.0878 = 70.24
    y = 600 * 0.3906 = 234.36
    

    之所以有效,是因为该位置已经“标准化”,因此它位于01 之间。无论您将其乘以什么,都将具有相同的“维度”。例如假设我们希望屏幕800x600 中的400x300 位置在另一个屏幕中,以便它具有相同的比率。我们可以在上面解决您的问题:

    x = 400 / 800 = 0.5
    y = 300 / 600 = 0.5
    

    为了获得任何其他屏幕的位置,我们将那里的结果乘以分辨率。

    Percentage

    【讨论】:

    • 抱歉回复晚了,稍后会检查它,看看它是否产生了我想要的输出。无论如何,你有什么我能读到的关于这个的参考吗?
    • 添加了简要说明
    猜你喜欢
    • 2021-11-13
    • 2011-02-26
    • 2018-07-04
    • 2013-06-04
    • 2014-07-03
    • 2017-12-21
    • 2015-04-01
    • 1970-01-01
    • 2017-11-18
    相关资源
    最近更新 更多