我試圖定義一個函數,它會在不使用PIL的情況下模糊python中的圖像。每個像素的顏色需要與8個周圍像素的顏色平均,即:在沒有PIL的情況下在Python中模糊圖像
o的值需要用x的所有值進行平均。
x x x
x o x
x x x
我有:
def blur():
global photo
pixels = Image.getPixels(photo)
for row in range(photo.height()):
for col in range(photo.width()):
red = pixels[row][col][0]
green = pixels[row][col][1]
blue = pixels[row][col][2]
Image.setPixels(photo,pixels)
凡Image.getPixels()返回在同一列表0和255之間的紅色,綠色和藍色值([0]返回紅色,[1]返回綠色,[2]返回藍色)以及由行和列表示的x和y值。我已經相當廣泛地搜尋了正確方向的提示,但沒有找到任何相關的內容。任何想法/幫助將不勝感激。謝謝!
聽起來像你已經有了做什麼的想法。平均每個像素與八個周圍的鄰居。有什麼問題? – Kevin
我會說你需要創建一個圖像的硬拷貝,這樣你就可以用原始值(避開的技巧,例如,使用已經改變的值來進一步改變其他值)來操作副本。那麼我建議你考慮使用切片的平均值。所有這些都要小心圖像的邊界(如果row = 1,我們不想使用像素[row-3],你不同意嗎?希望它們有足夠的提示朝正確的方向發展。 – Jblasco
我想我的問題是我根本不瞭解如何獲得8個周圍像素的值,我知道如何平均他們,一旦我獲得這些值,但這就是我卡住的地方 – user2884456