亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我將如何使用 PIL 對圖像進行像素化?

我將如何使用 PIL 對圖像進行像素化?

Helenr 2022-11-29 14:46:30
我嘗試使用枕頭對圖像進行像素化,我可以獲得平均 r 、 b 和 g 值,并且能夠將圖像設置為平均顏色或將其像素化 1x1,我將如何通過更多像素對其進行像素化,我無法找到有效的代碼空間,我知道它與將圖像分成網格有關from PIL import Imagesize = (200, 200)actual = Image.open('My image')red = []blue = []green = []`enter code here`og = actual.resize(size)pop = og.load()for y in range(40):    for x in range(40):        cow = pop[x, y]        red.append(cow[0])        blue.append(cow[1])        green.append(cow[2])for y in range(og.size[1]):    for x in range(og.size[0]):        pop[x, y] = (cow[0], cow[1], cow[2])y = sum(red) // len(red)z = sum(blue) // len(blue)t = sum(green) // len(green)og.show()
查看完整描述

2 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

我認為最簡單的方法是使用PIL.Image.resize函數:

from PIL import Image

im = Image.open('./dumpster/Mario_org.jpg')


org_size = im.size

pixelate_lvl = 8


# scale it down

im = im.resize(

    size=(org_size[0] // pixelate_lvl, org_size[1] // pixelate_lvl),

    resample=0)

# and scale it up to get pixelate effect

im = im.resize(org_size, resample=0)

前:
在此處輸入圖像描述

后:
在此處輸入圖像描述


查看完整回答
反對 回復 2022-11-29
?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

這是一個如何使用 Pillow 進行像素化的示例。


from PIL import Image,ImageStat


size = (200, 200)

actual = Image.open('/path/to/your/image.png')


og = actual.resize(size)


output = Image.new('RGB',(200,200))


tile_width = 5

for i in range(0,200,tile_width):

    for j in range(0,200,tile_width):

        box = (i,j,i+tile_width,j+tile_width)

        region = og.crop(box)

        median = ImageStat.Stat(region).median

        r = Image.new('RGB',(tile_width,tile_width),tuple(median))

        output.paste(r,(i,j))


output.show()

請注意,還有其他方法可以選擇每個圖塊的顏色。


查看完整回答
反對 回復 2022-11-29
  • 2 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號