【问题标题】:Retrieve corner coordinates of image given resolution and center point检索给定分辨率和中心点的图像的角坐标
【发布时间】:2018-06-02 00:12:45
【问题描述】:

我正在浏览具有图像像素坐标和图像分辨率的图像数据集。有没有办法将该信息映射到图像的角坐标。

例如,如果图像像素坐标为-403059.626、-12869811.372,图像为4168 x 3632像素,是否可以提取矩形中每个图像四个角的真实世界坐标?我们可以假设像素的大小为 1 个单位

【问题讨论】:

  • x=-403059.626, y=-12869811.372 代表一个像素坐标吗?这个像素坐标是如何映射的?
  • @zindarod 那是图片的质心像素
  • 啊,好的。你知道这个点是怎么计算的吗?在 OpenCV 中,负坐标表示该点存在于图像边界之外,并且这些坐标也大于图像尺寸。
  • 该点是取景的舞台点。
  • @CrisLuengo 我想我们可以假设图像有像素间距

标签: image opencv image-processing computer-vision


【解决方案1】:

假设p = (-403059.626, -12869811.372)是图像中间的像素,图像大小为s = (4168, 3632)像素,像素大小为1(表示像素与p给出的位置单位相同) ,那么左上角的坐标可以计算如下:

q = p - s/2 = ( -403059.626 - 4168/2 , -12869811.372 - 3632/2 )

上面的s/2 值的计算方式可能不同,具体取决于您对图像中间像素的看法。这里我假设左上角的像素有索引(0,0),中间的像素有索引(4168/2,3632/2)。

以上假设没有旋转(即图像轴与坐标系对齐),并且没有失真(可能是相机给图像添加了失真,导致像素间距在图像的不同部分发生变化) .

然后右下角有坐标:

r = q + s-1 = p + s/2 - 1

【讨论】:

  • 非常感谢,如何计算左下角和右上角的坐标?
  • @naveenmarri:我认为这很明显......q 的第一个元素是左边缘,r 的第一个元素是右边缘。这两个元素中的第二个元素是顶部和底部边缘。结合这 4 个值得到每个角:bottom-left = (q(1),r(2))、top-right = (q(2),r(1))。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-09
  • 1970-01-01
  • 2018-04-26
  • 2023-04-04
  • 2021-08-30
  • 2021-08-26
  • 2011-04-07
相关资源
最近更新 更多