如何在python中创建三维地图?

时间:2015-05-20 14:59:11

标签: python matrix

我需要创建一个三维地图。我将创建一个x轴,其值介于0和255之间,步长为0.5。与y轴相同的事情。 然后我会为每个坐标分配一个值(例如在点(10.5,10)处)。

Matrix不是解决方案,因为我无法确定x和y轴的值。

你能帮助我吗?

编辑:我试着更好地解释这个问题。这是我的一段代码:

img = cv2.imread('Lena256.bmp',0)
M = cv2.getRotationMatrix2D((cols/2,rows/2),angle,1)
img_rotate = cv2.warpAffine(img,M,(cols,rows))

然后我在img_rotate中找到了一些点:例如p =(10,10)。我想将“p”映射到原始图像中的对应点。为此,我写了这段代码:

T = np.zeros((rows,cols))
T[10][10] = 1
M_INV = cv2.getRotationMatrix2D((cols/2,rows/2),-angle,1)
T = cv2.warpAffine(T,M_INV,(cols,rows))

通过这种方式它起作用。但是如果我找到一个没有整数坐标的点(在img_rotate中),例如(10.5,10),我应该创建一个双维矩阵T,我可以在其中指定值0,0.5,1,ecc以便识别点(10.5,10)。然后我可以应用反向旋转。

我希望足够清楚

2 个答案:

答案 0 :(得分:0)

你可以使用字典:

d = {
    (10.5, 10): 23,
    (0,0): 42,
    (-100,999): 15,
    #etc
}

然后,您可以通过d[x,y]访问某些坐标(x,y)处的值。 (或d.get((x,y), default_value_goes_here),如果您不确定该集合中是否存在该坐标)

答案 1 :(得分:0)

您可以{/ 1}}使用

np.meshgrid