#python #image
#python #изображение
Вопрос:
Я пытался научить себя более продвинутым методам в Python, но, похоже, не могу найти ничего похожего на эту проблему, чтобы основать свой код.
Первый вопрос: это единственный способ отобразить изображение в терминале для установки Pillow? Я бы предпочел этого не делать, поскольку я пытаюсь затем научить тому, что я изучаю, очень начинающего ученика. Моя функция image.show() ничего не делает.
Второй вопрос: каков наилучший способ снизить яркость всех пикселей RGB в изображении на 20%? То, что у меня ниже, ничего не делает для изменения яркости, но также может полностью скомпилироваться. Я бы предпочел самый простой способ сделать это, насколько это возможно, импортировать минимальные библиотеки.
Третий вопрос: как мне создать новое изображение вместо изменения оригинала? (Т.Е. Снизить яркость на 20%, «image-decreasedBrightness.jpg » создается из «image.jpg «)
вот мой код — извините, он неправильно отформатирован. Каждый раз, когда я пытался сделать отступ, он переходил на панель тегов.
import Image
import ImageEnhance
fileToBeOpened = raw_input("What is the file name? Include file type.")
image = Image.open(fileToBeOpened)
def decreaseBrightness(image):
image.show()
image = image.convert('L')
brightness = ImageEnhance.Brightness(image)
image = brightness.enhance(20)
image.show()
return image
decreaseBrightness(image)
Комментарии:
1. Ну, основной вопрос: вы хотите использовать какую-нибудь качественную библиотеку и написать несколько строк, которые легко понять, или вы хотите написать ее с нуля и должны реализовать самые непонятные и уродливые функции самостоятельно (синтаксический анализ на байтовом уровне; возможно, преобразования цвета, …). Явсегда предпочитайте первое (если библиотеки действительно хороши и если я могу использовать их для лицензирования / установки …). Pillow — кандидат; scikit-image еще лучше!
Ответ №1:
Чтобы сохранить изображение в виде файла, в документации есть пример:
from PIL import ImageFile
fp = open("lena.pgm", "rb")
p = ImageFile.Parser()
while 1:
s = fp.read(1024)
if not s:
break
p.feed(s)
im = p.close()
im.save("copy.jpg")
Ключевая функция im.save
.
Для более глубокого решения возьмите хороший напиток, найдите удобное место для сидения и наслаждайтесь чтением: Документация Pillow 3.4.x .
Комментарии:
1. Должно быть самым простым способом. Действительно попробуйте прочитать документацию для
Pillow.ImageFile
.2. @MeganByers В Python нет встроенной поддержки изображений. Вам придется что- то импортировать.