我正在尝试从图像中获取像素并将它们绘制到 Blue Marble map 上。我已经想出如何将它们投影到 map 上。当每个像素投影到 map 上时,我一直无法弄清楚如何为每个像素着色。
我一直在使用 plot() 方法,当我单独执行它们时,终端会自动终止我的进程,因为它必须绘制 ~65000 次。我可以使用另一种方法吗?有没有办法在这些方法中的任何一种中使用像素颜色数组? PIL 可以吗?
rgb 是具有 3 元组的颜色数组,即。 (14,0,0) 等。full_x 和 full_y 是一个二维数组,其中它是 # of pixels 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])
这是我尝试单独处理每个像素的地方,然后进程被自动终止。
任何帮助将不胜感激。提前致谢。
最佳答案
对于看到此问题并遇到相同问题的任何人:
显然,您只需要使用 scatter 即可。为了映射具有多种颜色的像素/任何其他点,请使用带有 x 数组、y 数组和像素颜色数组的散点图。
关于Python:如何使用 matplotlib 将图像像素投影到 map 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11158932/