Python:如何使用matplotlib将图像像素投影到地图上

时间:2012-06-22 15:07:10

标签: python python-imaging-library matplotlib

我正在尝试从图像中获取像素并将其绘制在蓝色大理石地图的顶部。我已经想出如何将它们投射到地图上。我无法弄清楚如何将每个像素投影到地图上时为每个像素着色 我一直在使用plot()方法,当我单独使用它时,终端会自动杀死我的进程,因为它必须绘制~65000次。我可以使用另一种方法吗?有没有办法在这些方法中使用像素颜色数组?这可能与PIL有关吗?

rgb是具有3元组的颜色数组ie。 (14,0,0)等.full_x和full_y是一个二维数组,其中是像素数×5个不同的x,y点(使蓝色大理石图像上的像素形状)

这是我尝试做一系列颜色的地方:

for i in range(len(rgb)):
    hexV = struct.pack('BBB',*rgb[i]).encode('hex')
    hexA.append('#' + hexV)

m.plot(full_x, full_y, color=hexA)

我也尝试过:

for i in range(len(rgb)):
    hexV = struct.pack('BBB',*rgb[i]).encode('hex')
    #hexA.append('#' + hexV)
    hexA = '#' + hexV
    m.plot(full_x[i], full_y[i], color=hexA[i])

这是我尝试单独执行每个像素然后自动终止该过程的地方。

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

对于任何看到此问题但遇到同样问题的人:

显然你只需要使用散射。为了使用多种颜色映射像素/任何其他点,请使用x阵列,y数组和像素颜色数组进行散射。