0

我想用 Python 处理一些图像来做一个小问答游戏。测验玩家应该猜出图像。

我认为只有大像素区域的图像会很好。我想要一个类似的结果:https ://www.ixxiyourworld.com/media/2387631/ixsp110-van-gogh-petrol-pixel-03.jpg

4

1 回答 1

0

让我们尝试 PIL 首先将图像大规模缩小到给定的内核大小,然后用 NEAREST 放大到相同的大小 -

from PIL import Image
from numpy import asarray

img = Image.open("van_gogh.jpg", mode='r')

factor = 100

kernel = (img.height//factor, img.width//factor)
pixelated = img.resize(kernel,resample=Image.BICUBIC) #downsample
pixelated = pixelated.resize(img.size,Image.NEAREST) #upsample

#Grids
grid_color = [255,255,255]

dx, dy = factor, factor
g = np.asarray(pixelated).copy()

g[:,::dy,:] = grid_color
g[::dx,:,:] = grid_color

pixelated2 = Image.fromarray(g)
pixelated2

在此处输入图像描述

在此处增加因子,将进一步像素化图像。

factor = 100

在此处输入图像描述

于 2020-12-24T14:03:50.533 回答