gpt4 book ai didi

python - 为图像中的每个像素添加值以调整颜色。 python 3

转载 作者:行者123 更新时间:2023-12-05 07:34:43 25 4
gpt4 key购买 nike

我需要编写一个程序来读取红色、绿色和蓝色的值,并将该值添加到图像中的每个像素以调整颜色。

这是一个示例,其中我将 40 添加到每个像素的绿色值,但不向红色和蓝色 channel 添加任何内容:

File name: dragonfly.png
Red tint: 0
Green tint: 40
Blue tint: 0

我的代码在下面并且可以运行。但是当我提交它时,它说“提交创建了输出图像 output.png,但它与预期的输出图像不匹配。”我附上了两张图片 - 实际图片和预期图片。

请看我的代码:

import Image
file = input("File name: ")
red_tint = int(input("Red tint: "))
green_tint = int(input("Green tint: "))
blue_tint = int(input("Blue tint: "))
img = Image.open(file)
r,g,b = img.getpixel( (0,0) )
for y in range(img.height):
for x in range(img.width):
current_color = (r,g,b)
if current_color == r:
R = r + red_tint
if current_color == g:
G = g + green_tint
if current_color == b:
B = b + blue_tint
R, G, B = current_color
new_color = (R, G, B)
img.putpixel((x, y), new_color)
img.save('output.png')

我的代码哪里做错了?谢谢

实拍actual picture

预期结果 expected outcome

最佳答案

这里有点牵强,因为我不知道代码实际产生了什么,而是制作像 px = img.load() 这样的像素图,而不是 img.putpixel() ,然后使用 px[x,y] = new_color

编辑:

我的理解是您只想根据用户输入编辑图像。那么为什么不直接将 RGB 值添加到每个值呢?我还没有测试这段代码。

for y in range(img.height):
for x in range(img.width):
current_color = px[x,y]
new_color = (current_color[0] + int(red_tint), current_color[1] + int(green_tint), current_color[2] + int(blue_tint))
px[x,y] = new_color

关于python - 为图像中的每个像素添加值以调整颜色。 python 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50009178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com