将子位置转换为父位置坐标
Convert child location to parent location coordinates
我有一个更大的区域,里面有更小的零件。就像在这张图片中,我有一个更小的点,坐标是 2.5、2.5。我如何计算它在父坐标中的位置?有pythonic的方法吗?
@GoodDeeds "And when you mean parent coordinates, do you mean scaled up by the ratio the parent is to the child?" 是
假设坐标系固定,图像尺寸与坐标轴平行:
1.将坐标归一化为 [0, 1]:
这会告诉您坐标沿每个维度覆盖的图像分数。当你放大图像时,这个分数保持不变。
给定坐标 (x, y)
和尺寸 (w, h)
的图像,归一化坐标由 (x/w, y/h)
给出。如果原点不在 (0, 0)
,但在 (x0, y0)
,则由 ((x-x0)/w, (y-y0)/h)
.
给出
2。放大坐标
给定标准化坐标 (x, y)
,对于尺寸为 (W, H)
的父图像,缩放后的坐标将为 (x*W, y*H)
。如果原点不在 (0, 0)
,但在 (x0, y0)
,则由 (x*W+x0, y*H+y0)
.
给出
结合这两个步骤,由于两幅图像的原点相同(0, 0)
,用w = h = 5
、W = H = 50
代替坐标(x, y)
,得到转换后的坐标 (x', y')
由下式给出:
(x', y') = (50*x / 5, 50*y / 5) = (10*x, 10*y)
.
因此,在您的情况下,(2.5, 2.5)
将映射到 (25, 25)
。
我有一个更大的区域,里面有更小的零件。就像在这张图片中,我有一个更小的点,坐标是 2.5、2.5。我如何计算它在父坐标中的位置?有pythonic的方法吗?
@GoodDeeds "And when you mean parent coordinates, do you mean scaled up by the ratio the parent is to the child?" 是
假设坐标系固定,图像尺寸与坐标轴平行:
1.将坐标归一化为 [0, 1]:
这会告诉您坐标沿每个维度覆盖的图像分数。当你放大图像时,这个分数保持不变。
给定坐标 (x, y)
和尺寸 (w, h)
的图像,归一化坐标由 (x/w, y/h)
给出。如果原点不在 (0, 0)
,但在 (x0, y0)
,则由 ((x-x0)/w, (y-y0)/h)
.
2。放大坐标
给定标准化坐标 (x, y)
,对于尺寸为 (W, H)
的父图像,缩放后的坐标将为 (x*W, y*H)
。如果原点不在 (0, 0)
,但在 (x0, y0)
,则由 (x*W+x0, y*H+y0)
.
结合这两个步骤,由于两幅图像的原点相同(0, 0)
,用w = h = 5
、W = H = 50
代替坐标(x, y)
,得到转换后的坐标 (x', y')
由下式给出:
(x', y') = (50*x / 5, 50*y / 5) = (10*x, 10*y)
.
因此,在您的情况下,(2.5, 2.5)
将映射到 (25, 25)
。