#python
#python
Вопрос:
Я пытаюсь написать функцию, которая принимает пиксель в качестве параметра и инвертирует каждый цвет в пикселе, а затем возвращает новые значения цвета в виде кортежа. Помощь была бы очень признательна Вот мой текущий код:
IMAGE_URL = "https://codehs.com/uploads/c709d869e62686611c1ac849367b3245"
IMAGE_WIDTH = 280
IMAGE_HEIGHT = 200
image = Image(IMAGE_URL)
image.set_position(70, 70)
image.set_size(IMAGE_WIDTH, IMAGE_HEIGHT)
add(image)
#################################################
# Write your function here. Loop through each pixel
# and set each pixel to have a zero blue value.
#################################################
def remove_blue():
pass
# Give the image time to load
print("Removing Blue Channel ....")
print("Might take a minute....")
timer.set_timeout(remove_blue, 1000)
Комментарии:
1. Что, кажется, пошло не так?
Ответ №1:
from PIL import Image
# open image
image = Image.open('pic.jpeg')
# show the image (optional)
image.show()
# load the image into memory
image_data = image.load()
# obtain sizes
height,width = image.size
# loop over and change blue value to 0
for loop1 in range(height):
for loop2 in range(width):
r,g,b = image_data[loop1,loop2]
image_data[loop1,loop2] = r,g,0
image.save('changed.jpeg')
Соответствующая функция будет
def remove_blue(image):
image = Image.open('pic.jpeg')
# show the image (optional)
image.show()
# load the image into memory
image_data = image.load()
# obtain sizes
height,width = image.size
# loop over and change blue value to 0
for loop1 in range(height):
for loop2 in range(width):
r,g,b = image_data[loop1,loop2]
image_data[loop1,loop2] = r,g,0
# return image
image.save('changed.jpeg')
Комментарии:
1. Спасибо за помощь, но у меня все еще возникают проблемы. Куда мне поместить код?
2. Трассировка (последний последний вызов): Файл VFS.browser.timer.py строка 13, в f msg='{0.info }n{0.__class__.__name__}: {0.args[0]}’.format(exc) Ошибка типа: в remove_blue отсутствует 1 позиционный аргумент: ‘изображение’
3. Вам нужно указать файл изображения, попробуйте
remove_blue(IMAGE_URL)
4. Трассировка (последний последний вызов): Файл VFS.browser.timer.py строка 13, в f msg='{0.info }n{0.__class__.__name__}: {0.args[0]}’.format(exc) Ошибка типа: в remove_blue отсутствует 1 позиционный аргумент: ‘IMAGE_URL’