我爲我的函數使用了四個輸入:圖片對象,x座標,y座標以及正方形的高度/寬度。我想分別平均圖片的所有紅色,綠色和藍色值。我遇到了RGB像素的累加器變量,並檢查了正方形的邊界。誰能幫我嗎?蟒蛇在正方形區域的平均顏色
from imageTools import *
p1 = makePicture("flower.jpg")
def averageColor(pic, xCord, yCord, width):
rAcc = 0
gAcc = 0
bAcc = 0
for x in range(xCord, xCord + width):
for y in range(yCord, yCord + width):
picWidth = getWidth(pic)
picHeight = getHeight(pic)
if x <= picWidth and y <= picHeight:
pixel = getPixel(pic, xCord, yCord)
r = getRed(pixel)
g = getGreen(pixel)
b = getBlue(pixel)
rAcc = rAcc + 1
gAcc = gAcc + 1
bAcc = bAcc + 1
avgRed = r/rAcc
avgGreen = g/gAcc
avgBlue = b/bAcc
newColor = makeColor(avgRed, avgGreen, avgBlue)
return newColor
col1 = averageColor(p1, 0, 150, 100)
print(col1)
是不是你應該*求和'r','g'和'b'值, r + = getRed(像素)'等等...... –
你有什麼樣的錯誤?您將像素值分配給每個像素的'r','g'和'b',然後在最後只做一次計算? –
我不想要rg和b值的平均值,我想要使用該區域的平均顏色來形成新的顏色 –