我正在尝试从图像中获取像素,并将其绘制在Blue Marble地图的顶部。我已经弄清楚了如何将它们投影到地图上。我只是无法弄清楚如何将每个像素投影到地图上时着色。
我一直在使用plot()方法,当我单独执行它们时,终端会自动终止我的进程,因为它必须绘制约65000次。我可以使用另一种方法吗?这些方法中的任何一种都可以使用像素颜色数组吗? PIL有可能吗?

rgb是具有3个元组的颜色数组,即。 (14,0,0)等。full_x和full_y是一个二维数组,其中是像素数x 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])


在这里,我尝试分别处理每个像素,然后该过程被自动终止。

任何帮助将非常感激。提前致谢。

最佳答案

对于任何看到此问题并有相同问题的人:

显然,您只需要使用散点图即可。为了映射具有多种颜色的像素/任何其他点,请使用x阵列,y阵列和像素颜色阵列的散点图。

关于python - Python:如何使用matplotlib将图像像素投影到 map 上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11158932/

10-11 22:40
查看更多