2012-10-08 126 views
0

我试图找出如何将JPG转换成列表(使用Python 3.2.3)的列表,使得:转换为JPG,以列表的列表

[ 
[red,blue,red,etc..],   #line1 
[blue,red,yellow, etc...],  #line2 
[orange,yellow,black,etc...], #Last Line 
] 

基本上内的每个列表主列表表示从图像顶部开始的水平颜色值线。

我认为这会很容易,只需写一点脚本从jpg文件中提取数据即可。哈!在研究之后,我意识到这将比我真正想做的工作多得多。

到目前为止,我正在考虑将其转换为位图,然后将数据写入合适的格式是我的最佳选择。当然,我必须弄清楚如何从位图中提取信息。

现在,由于我确定其他人以前不得不这样做,所以有人必须知道我可以更轻松地做到这一点。我试过四处寻找,但至今没有任何运气。

感谢

+2

你看过Python成像库(PIL)吗? – mgilson

+1

转换后,你是否有一个(未说明的)最终目标?或者你真的只是在寻求一种方法来将整齐,标准化的图像格式变成一个难以处理的列表清单? – hexparrot

+0

以为我会尝试我的手在一些ocr的东西。看起来应该很容易。着名的遗言呃? –

回答

2
  1. 安装PIL,打开你的形象:

  2. 打开AS numpy的阵列图像(确保numpy的安装):

    image = numpy.asarray(Image.open('pic.jpg')) 
    
  3. 使用numpy.split将您的结果数组分成列表:

    lists = numpy.split(image) 
    

玩你的名单。

+2

为什么要使用'numpy.split'? 'image'已经是一个'ndarray' ... – nneonneo

+0

PIL库似乎不支持Python 3以上的版本。还有其他方法可以做到吗? –

+0

@JasonWhite尝试与PIL的2.7版本 - 我认为它会工作。 – khan