UImage: изменение яркости, контраста и цветового тона изображения
Изменить яркость изображения в цветовой модели HSB позволяет статический метод brightness_im() из класса UImageChange. Формат метода:
UImageChange.brightness_im(<UImage>, t=0.05)
В качестве первого параметра указывается объект UImage. Параметр t задает значение эффекта в диапазоне от -1.0 до 1.0 (0 — без изменений). Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример увеличения яркости:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.brightness_im(img, 0.2)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Изменить контраст изображения в цветовой модели HSB позволяет статический метод contrast_im() из класса UImageChange. Формат метода:
UImageChange.contrast_im(<UImage>, t=0.2)
В качестве первого параметра указывается объект UImage. Параметр t задает значение эффекта в диапазоне от -1.0 до 1.0 (0 — без изменений). Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример увеличения контраста:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.contrast_im(img, 0.2)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Увеличить контраст изображения позволяет статический метод contrast_plus_im() из класса UImageChange. Формат метода:
UImageChange.contrast_plus_im(<UImage>, level=5)
В качестве первого параметра указывается объект UImage. Параметр level задает значение эффекта в диапазоне от 1 до 50. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример увеличения контраста:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.contrast_plus_im(img, 10)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Уменьшить контраст изображения позволяет статический метод contrast_minus_im() из класса UImageChange. Формат метода:
UImageChange.contrast_minus_im(<UImage>, level=5)
В качестве первого параметра указывается объект UImage. Параметр level задает значение эффекта в диапазоне от 1 до 50. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример уменьшения контраста:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.contrast_minus_im(img, 10)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Изменить цветовой тон изображения в цветовой модели HSB позволяет статический метод hue_im() из класса UImageChange. Формат метода:
UImageChange.hue_im(<UImage>, t)
В качестве первого параметра указывается объект UImage. Параметр t задает значение эффекта в диапазоне от -1.0 до 1.0 (0 — без изменений). Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.hue_im(img, 0.1)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Изменить яркость, контраст и цветовой тон изображения в цветовой модели HSL позволяет статический метод hsl_im() из класса UImageChange. Формат метода:
UImageChange.hsl_im(<UImage>, hue_factor, saturation_factor,
brightness_factor)
В качестве первого параметра указывается объект UImage. Параметр hue_factor задает значение эффекта для цветового тона в диапазоне от -1.0 до 1.0 (0 — без изменений). Параметр saturation_factor задает значение эффекта для контраста в диапазоне от -1.0 до 1.0 (0 — без изменений). Параметр brightness_factor задает значение эффекта ля яркости в диапазоне от -1.0 до 1.0 (0 — без изменений). Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример увеличения только яркости:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.hsl_im(img, hue_factor=0, saturation_factor=0,
brightness_factor=0.1)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Нормализация изображения
Выполнить нормализацию изображения позволяет статический метод normalize_im() из класса UImageChange. Формат метода:
UImageChange.normalize_im(<UImage>)
В качестве параметра указывается объект UImage. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.normalize_im(img)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Автоматически нормализовать контраст изображения позволяет статический метод auto_level_im() из класса UImageChange. Формат метода:
UImageChange.auto_level_im(<UImage>)
В качестве параметра указывается объект UImage. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.auto_level_im(img)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Нормализовать изображение путем указания точек белого и черного позволяет статический метод level_im() из класса UImageChange. Формат метода:
UImageChange.level_im(<UImage>, black, white=100, gamma=1.0)
В качестве первого параметра указывается объект UImage. Во втором параметре нужно указать значение для точки черного в процентах в диапазоне от 0 до 100. В параметре white можно задать значение для точки белого в процентах в диапазоне от 0 до 100. Параметр gamma затрагивает полутона (от 0.1 (темнее и контрастнее) до 2.0 (светлее), 1.0 без изменений). Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.level_im(img, black=5, white=100, gamma=1.2)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Изменить только полутона позволяет статический метод gamma_im() из класса UImageChange. Формат метода:
UImageChange.gamma_im(<UImage>, level=0.9)
В качестве первого параметра указывается объект UImage. Параметр level задает коэффициент для эффекта (от 0.1 (темнее и контрастнее) до 2.0 (светлее), 1.0 без изменений). Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.gamma_im(img, 1.2)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage