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

标签 python python-imaging-library matplotlib

我正在尝试从图像中获取像素并将它们绘制到 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/

相关文章:

python - 导入错误 : cannot import name 'animation' (matplotlib + python 3. 8.5)

python - 一个数据点上的 Pandas 箱线图错误

python - pandas 0.13.0 支持 Teradata 服务器吗?我正在尝试使用 pyodbc 连接将数据帧对象写入 teradata

python - 在 Python 中将 yyyy-mm-dd 转换为 yyyy-ww

Python:过滤 Pandas 数据框以根据列保留指定的行数

python - 在没有内置函数的情况下使 PIL 中的图像变亮或变暗

python - 尝试使用 PIL 保存图像时出现 IndexError

python - 计算不同颜色的像素 - Python

python - 在 Django 上使用 postcodes.io API

matplotlib - 如何在 matplotlib 中自定义标记/符号属性?