hotnet 发表于 2015-12-1 11:28:00

RGB值转化图片(python PIL)

  今天看到一道misc的题目,得到一RGB值的txt文件,需解决RGB值转图片。具体题目:here
  由于第一次碰到这个类型的题目,做一下记录,在这里我采用的是python 的PIL图像库
  具体思路:
  1.首先我们要先确定图片的size,既宽度高度
  通过txt文件行数(61366=2*61*503,因为最后一行是空行,所以不在计算范围内)的整数分解
  可以得到以下几个不同的size:503*122,1006*61,30683*2(x,y交换一下对图片不会有很大的变化,只是横着和竖着的区别)
  所以我们接下来一共要试这3种不同size的转化,查看那张转化出来的图片是有实际意义的(啊喂,最后一个那么夸张想想也不是了好嘛:)
  2.接下来就是是用python的图片库来转换了,附上撸主的代码
  



#-*- coding:utf-8 -*-
from PIL import Image
import re
x = 503 #x坐标通过对txt里的行数进行整数分解
y = 122 #y坐标x*y = 行数

im = Image.new("RGB",(x,y))#创建图片
file = open('misc100.txt') #打开rbg值文件
#通过一个个rgb点生成图片
for i in range(0,x):
for j in range(0,y):
line = file.readline()#获取一行
rgb = line.split(",")#分离rgb
im.putpixel((i,j),(int(rgb),int(rgb),int(rgb)))#rgb转化为像素
im.show()
  其中x,y是需要用上面的size去代的,结果:

  再最后附上python PIL学习手册一份
页: [1]
查看完整版本: RGB值转化图片(python PIL)