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學習手冊一份


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM