【发布时间】:2018-06-24 11:03:50
【问题描述】:
我也看过:
Convert a 2D array index into a 1D index
我正在尝试调试我的程序,我需要了解如何将二维坐标转换为一维坐标。
如果我有一个 IJ 坐标,例如:(3284,1352),我们想访问一个一维数组,即 (3492,2188),我们如何实现呢?
到目前为止我已经尝试过:
1) 我认为你对每一行和每一行内每一列的偏移为:
i x j = 3284 * 1352 = 4.439.968
如果我们有坐标 (3284,1352) 以图形方式对应于灰度强度为 1 的片段:
我们尝试访问每个像素的灰度值的一维数组,以像素为单位:4.439.968 我们有:
14 的灰度强度
这很奇怪,因为:
-> ITKSnap 没有显示第 14 段:
-> 我们的段的灰度为1,那么我们应该在手动计算访问哪个索引后,找到那个灰度:
2)我尝试的第二种方法是将其计算为:
column clicked * number of total rows + row clicked;
j * xLength + i;
在我们的例子中是:
1352 * 3492 + 3284 = 4.724.468
如果我们试图在数据中找到那个像素:
我们发现灰度为0,对应背景。
转换有什么问题?
你能帮帮我吗?
【问题讨论】:
-
我认为应该是:
row clicked * number of total columns + column clicked;,因为它通常先经过列然后再经过行(从左到右然后从上到下)。
标签: javascript arrays coordinates