UImage: повышение резкости изображения
Повысить резкость позволяет статический метод sharpen() из класса UImageChange. Формат метода:
UImageChange.sharpen(<UImage>)
В качестве параметра указывается объект UImage. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки Pillow. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.sharpen(img)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Если библиотека Pillow недоступна, то метод sharpen() передает управление статическому методу sharpen_im(), который выполняет аналогичную операцию с помощью библиотеки ImageMagick. Этот метод можно вызвать непосредственно. Формат метода:
UImageChange.sharpen_im(<UImage>, radius=0, sigma=1.0)
В качестве первого параметра указывается объект UImage. Параметры radius и sigma задают коэффициенты для эффекта усиления резкости. Если параметр radius имеет значение 0, то его значение подбирается автоматически в зависимости от значения параметра sigma. Метод возвращает объект UImage или значение None в случае ошибки. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.sharpen_im(img, radius=0, sigma=1.0)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Вместо метода sharpen_im() можно воспользоваться статическим методом unsharp_im() из класса UImageChange. Формат метода:
UImageChange.unsharp_im(<UImage>, radius=0, sigma=1.0)
В качестве первого параметра указывается объект UImage. Параметры radius и sigma задают коэффициенты для эффекта усиления резкости. Если параметр radius имеет значение 0, то его значение подбирается автоматически в зависимости от значения параметра sigma. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.unsharp_im(img, radius=0, sigma=1.0)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Повысить контурную резкость позволяет статический метод edge_enhance() из класса UImageChange. Формат метода:
UImageChange.edge_enhance(<UImage>, smooth=False)
В качестве первого параметра указывается объект UImage. Если параметр smooth имеет значение True, то перед повышением контурной резкости будет выполнено сглаживание изображения. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки Pillow. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.edge_enhance(img, smooth=True)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Вместо метода edge_enhance() можно воспользоваться статическим методом edge_enhance_more() из класса UImageChange. Формат метода:
UImageChange.edge_enhance_more(<UImage>, smooth=False)
В качестве первого параметра указывается объект UImage. Если параметр smooth имеет значение True, то перед повышением контурной резкости будет выполнено сглаживание изображения. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки Pillow. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.edge_enhance_more(img, smooth=True)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Повысить детализацию изображения позволяет статический метод detail() из класса UImageChange. Формат метода:
UImageChange.detail(<UImage>)
В качестве параметра указывается объект UImage. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки Pillow. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.detail(img)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage