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[0]),int(rgb[1]),int(rgb[2])))#rgb转化为像素
im.show()

    其中x,y是需要用上面的size去代的,结果:

    再最后附上python PIL学习手册一份

时间: 2024-10-20 19:08:33

RGB值转化图片(python PIL)的相关文章

图片切碎片脚本 python PIL库实践

python PIL库实践运用,对图像进行切碎片操作. 原图如图一 图一 我们想要的是图片的不同部分,比如图二中1.2.3.4每一个分区单独的碎片, 图二 做法是做出4张跟原图大小一样的碎片模版图,白底,想要的区域涂黑(非纯白)即可.1区域的碎片模板图如图三所示: 图三 脚本处理图片的方法:先找出碎片模版中的非白区域(可以不规则),然后将原图中这个区域内的所有像素点的颜色都放到新的一张跟原图像素大小一样的新图上,新图的其余位置都设置成透明(可以根据自己的不同需求进行不同的调整). 1碎片模版得到

Python PIL创建文字图片

PIL库中包含了很多模块,恰当地利用这些模块可以做许多图像处理方面的工作. 下面是我用来生成字母或字符串测试图片而写的类及测试代码. 主要用到的模块: PIL.Image,PIL.ImageDraw,PIL.ImageFont PIL.Image用来生成一个空的图片,ImageDraw用来在空图片上画图及写字符,ImageFont则是创建需要使用到的字体 #-*- coding:gb2312 -*- from PIL import Image,ImageDraw,ImageFont,ImageO

返回图片指定点的RGB值

#region 返回图片指定点的RGB值 /// <summary> /// 返回图片指定点的RGB值 /// </summary> /// <param name="ImageName"></param> /// <returns></returns> public static string GetImageRGB(string ImageName) { string temp = string.Empty;

python PIL库回顾

之前用PIL的时候都不知道看官方文档,网上搜索结果靠前的一些介绍性的博客其实很扯淡,讲两个函数.贴三张图,文章就完了. 今天把他的文档看了看,发现一点也不简单,网上介绍的不过是冰山一角. 对于我这样一个不太懂多媒体的人,如果用到图像处理,主要也就这些操作: 读写.取通道.两幅图合并.像素点操作.各种滤镜.色彩模式转换.图像旋转.缩放.裁剪.仿射. PIL对付这些小喽啰,都是完全没有问题的. 读写 open是Image类的一个方法,返回值是一个Image对象,值得注意的是,open不能打开网络图片

python PIL库回顾1

1 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin: 15px 0; } /* HE

Python + PIL 处理支付宝AR红包

思路比较简单:1.对图片进行锐化处理:2.设(r_h, g_h, b_h)为支付宝遮罩黑条的RGB值,以此为中心,查找半径为Diff_radius的范围内所有的色值: 3.对每一行符合步骤2的像素点个数进行计数,若该数值超过某个临界值(如:图片宽度的一半),将其所在行替换为上一行非遮罩数据:4.对处理后的图片高斯滤镜. 以下是python代码: from PIL import Image,ImageFilter Diff_radius = 500 diff_min = 1 r_h, g_h, b

利用Python PIL、cPickle读取和保存图像数据库

利用Python PIL.cPickle读取和保存图像数据库  @author:wepon @blog:http://blog.csdn.net/u012162613/article/details/43226127 计算机视觉.机器学习任务中,经常跟图像打交道,在C++上有成熟的OpenCV可以使用,在Python中也有一个图像处理库PIL(Python Image Library),当然PIL没有OpenCV那么多功能(比如一些人脸检测的算法),不过在Python上,我们用PIL进行一些基本

Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示

Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示 在 开发中遇到应用c#及asp.net的在的webservice 保存图片并以xml文件形式现实出来 并用delphi调用 的方法: 1.c#的webservice现实见 http://www.greensoftcode.net/techntxt/20127118441582992373 之前的文章. 2.在客户端用delphi显示 发现asp.net xml形式输出的图片是base64字符串形式.

生成字母验证图片(python)

生成字母验证图片(python) by 伍雪颖 from PILimport Image, ImageDraw, ImageFont import random def generate_authenticode(): letters = random.sample('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',4) width = 100 height = 40 im = Image.new("RGB"