python PIL创建模糊图像

cvxl0en2  于 2022-12-28  发布在  Python
关注(0)|答案(1)|浏览(121)

我目前正在做一个小项目,我试图用一个固定的调色板生成一个固定大小的随机图像。一切都很好,但放大图像显示像素插值的方式看起来不太好。我更喜欢像素有硬边,就像最近邻插值一样。我该怎么做呢?见下面的代码:

#!/usr/bin/env

import random
from PIL import Image

colors = ["#ffffff", "#898d90", "#000000", "#cf0530", "#2450a4", "#7eed56", "#ffd635", "#6134e1",
          "#ffa800", "#6d482f", "#ff3881", "#51e9f4", "#fff8b8", "#94b3ff", "#158d62", "#515252"  ]

def main():

    size = width, height = 128, 128
    image = Image.new( "RGB", size)
    fillRand(image, size)

    image.show()

    del image

def randColor():

    color = random.choice(colors)
    return color

def hex_to_rgb(hex):

  return tuple(int(hex.lstrip('#')[i:i+2], 16) for i in (0, 2, 4)) 

def fillRand(image, size):

    for x in range(size[0]):
        for y in range(size[1]):
            pixel_access_object = image.load()
            pixel_access_object[x,y] = (hex_to_rgb(randColor()))

if ( __name__ == "__main__"):
    main()

先谢谢你!
P.S. -Python不是我的主要语言,我一般都很生疏,所以如果我的代码很古怪,我很抱歉。

anauzrmj

anauzrmj1#

我想这是你的图像浏览器的问题。我用的是ImageGlass,它的像素有清晰的边缘。一个可能的解决方案是让像素更大,这样你就可以给16x16个像素涂上同样的颜色,而不是一种颜色。这样插值就看不出来了。

相关问题