2012-06-22 109 views
2

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

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]) 

这是我试图单独做的每个像素然后处理已自动杀死。

任何帮助将不胜感激。提前致谢。

+0

你能发布一个可运行的代码示例吗?这使得调试更容易。 – stanri

+0

有几个文件伴随它。有没有办法在堆栈溢出上附加文件?或者电子邮件是最好的? – user1473085

回答

1

对于任何人谁看到这一点,并有同样的问题:

显然,你所用的是散射。为了使用多种颜色映射像素/任何其他点,请使用散列与x数组,y数组和像素颜色数组。

相关问题