2016-07-07 58 views
3

給定具有已知尺寸(例如,14782 x5495像素)和期望的平方尺寸(例如,寬度,高度= 696像素)尺寸的圖像,如何獲得座標網格中的每個元素?如何確定圖像的網格元素的座標

enter image description here

實際上,我的形象有沒有網格。但我想獲得座標,就好像網格存在如上所示。

座標是定義如下:

的x和y是所述選擇的左上角 的座標(像素)。座標系的原點(0,0)是圖像左上角的 。

對於所有給定的輸入圖像,網格元素大小的核心大部分是固定的。 (例如,尺寸寬度×高度= 1000×1000像素的正方形)。網格周圍元素的形狀不是平方的,沒關係。

與上圖中所示的網格方案非常相似。

實際圖像是downloadable here(160MB)。

+1

RowNum = Y/GridCellHeight = Y/696? – MBo

+0

@MBo:X怎麼樣?你能舉出例子代碼嗎? – neversaint

+0

對不起,你看不到比喻? ColNum = X/GridCellWidth = X/696 – MBo

回答

7

好像這是你想要什麼:

x = [i for i in range(696, 14782, 696) for j in range(696, 5495, 696)] 
y = [j for i in range(696, 14782, 696) for j in range(696, 5495, 696)] 

測試它

import matplotlib.pyplot as plt  
img = imread('04_709_channel-3.tif') 
plt.imshow(img, cmap='gray') 
plt.plot(x, y, 'ro') 

enter image description here

3

對於具有寬度w,高度h和像素緩衝器陣列data圖像,所述像素座標在索引ix = i % w, y = i/w,其中%是模量和/是整數除法給出。

編輯:經指數i,我的意思是先增加由y,然後通過x,即操作i = y * w + x

+0

我們如何根據區間即平方尺寸來定義'i'? – neversaint

+0

按照慣例,'i'從左上角的零開始,增加'x'座標,然後增加'y'座標 – 2016-07-12 09:05:45

相關問題