Python 调整图像中的亮度
我要做的是,每当它要求输入时,我假设把一个值放在100和-100之间,在percentage_for_white函数中,我还必须将接收到的值转换成十进制。该值必须进入另一个调用 白色金额的百分比 有了它,它必须调整这个图像的光照,我们被分配在“像计算机科学家一样思考”一书中的“二维”章节和ActiveCode4编辑器中的activecodes上。我做了所有这些,但当我把它们放在一起时,它不断地说,白色的数量没有定义。我不知道我需要做什么来修复,所以请帮助 这就是我所拥有的:Python 调整图像中的亮度,python,image,Python,Image,我要做的是,每当它要求输入时,我假设把一个值放在100和-100之间,在percentage_for_white函数中,我还必须将接收到的值转换成十进制。该值必须进入另一个调用 白色金额的百分比 有了它,它必须调整这个图像的光照,我们被分配在“像计算机科学家一样思考”一书中的“二维”章节和ActiveCode4编辑器中的activecodes上。我做了所有这些,但当我把它们放在一起时,它不断地说,白色的数量没有定义。我不知道我需要做什么来修复,所以请帮助 这就是我所拥有的: import ima
import image
def main():
percentage_for_white_amount()
light_levels()
def light_levels():
img = image.Image("luther.jpg")
win = image.ImageWin(img.getWidth(), img.getHeight())
img.draw(win)
img.setDelay(1,15) # setDelay(0) turns off animation
for row in range(img.getHeight()):
for col in range(img.getWidth()):
p = img.getPixel(col, row)
newred = 255 * amount_white + p.getRed() * (1 - amount_white)
newgreen = 255 * amount_white + p.getGreen() * (1 - amount_white)
newblue = 255 * amount_white + p.getBlue() * (1 - amount_white)
if newred >= 0 and newred <= 255:
True
if newgreen >= 0 and newgreen <= 255:
True
if newblue >= 0 and newblue <= 255:
True
newpixel = image.Pixel(newred, newgreen, newblue)
img.setPixel(col, row, newpixel)
img.draw(win)
win.exitonclick()
def percentage_for_white_amount():
percentage_white = -200
while percentage_white < -100 or percentage_white > 100:
percentage_white = input("Provide the amount of white to blend in the image (values -100 and 100): ")
percentage_white = float(percentage_white)
percentage_white = percentage_white / 10
return percentage_white
main()
导入图像
def main():
白色金额的百分比()
光照水平()
def灯光_级别():
img=image.image(“luther.jpg”)
win=image.ImageWin(img.getWidth(),img.getHeight())
模拟平局(胜利)
img.setDelay(1,15)#setDelay(0)关闭动画
对于范围内的行(img.getHeight()):
对于范围内的列(img.getWidth()):
p=img.getPixel(列,行)
newred=255*白色金额+p.getRed()*(1-白色金额)
newgreen=255*白色金额+p.getGreen()*(1-白色金额)
newblue=255*白色金额+p.getBlue()*(1-白色金额)
如果newred>=0且newred=0且newgreen=0且newblue 100:
百分比\白色=输入(“提供要在图像中混合的白色量(值-100和100):”)
白色百分比=浮动(白色百分比)
白色百分比=白色百分比/10
返回百分比(白色)
main()
如果有人能帮我发现错误或帮我解决问题,我将不胜感激 我发现您的代码有两个问题
percentage\u white\u amount()
中的percentage\u white
是函数的局部变量,因此如果函数定义不正确,则需要在开头添加global percentage\u white
语句percentage\u for\u white\u amount()
中的return percentage\u white
语句缩进太多,使其成为循环的一部分,因此它将在循环的第一次迭代结束时执行,而不考虑percentage\u white
的当前值