簡體   English   中英

將2D坐標轉換為1D數組

[英]Translate a 2D coordinate into a 1D array

我也讀過:

將2D數組索引轉換為1D索引

我正在嘗試調試程序,我需要了解如何將2d坐標轉換為1d坐標。

如果我有一個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,對應於背景。

轉換有什么問題?

請問你能幫幫我嗎?

我認為您需要這樣的東西: index = (y * maxColumns) + x
(看起來像您的j = x和i = y)

我畫一些東西來對其進行可視化: 2D至1D陣列

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM