UImage: удаление шума с изображения и добавление шума
Удалить шум с изображения позволяет статический метод noise_delete_im() из класса UImageChange. Формат метода:
UImageChange.noise_delete_im(<UImage>, radius=2)
В качестве первого параметра указывается объект UImage. Параметр radius задает коэффициент для размытия. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.noise_delete_im(img, radius=2)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Сгладить артефакты изображения позволяет статический метод smooth() из класса UImageChange. Формат метода:
UImageChange.smooth(<UImage>)
В качестве параметра указывается объект UImage. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки Pillow. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.smooth(img)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Вместо метода smooth() можно воспользоваться статическим методом smooth_more() из класса UImageChange. Формат метода:
UImageChange.smooth_more(<UImage>)
В качестве параметра указывается объект UImage. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки Pillow. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.smooth_more(img)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Добавление шума на изображение
Добавить шум на изображение позволяет статический метод noise_add_im() из класса UImageChange. Формат метода:
UImageChange.noise_add_im(<UImage>, noise_type="Gaussian", attenuate=0.3)
В качестве первого параметра указывается объект UImage. Параметр noise_type задает тип шума в виде значений:
"Gaussian" (значение по умолчанию), "Impulse", "Laplacian",
"Multiplicative", "Poisson", "Random", "Uniform"
В параметре можно указать степень эффекта в виде вещественного числа от 0.0 до 1.0. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример:
from unicross_image.ucolor import UColor
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage(300, 200, UColor("white"))
img2 = UImageChange.noise_add_im(img, noise_type="Gaussian",
attenuate=0.8)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Если в параметре noise_type указано значение "Random", то изображение будет заменено:
from unicross_image.ucolor import UColor
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage(300, 200, UColor("white"))
img2 = UImageChange.noise_add_im(img, noise_type="Random")
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage