我需要创建一个三维地图。我将创建一个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)。然后我可以应用反向旋转。
我希望足够清楚
答案 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