UImageGray: обрезка изображения
Статический метод uimagegray_crop() из класса UHelperNP считывает прямоугольную область из исходного изображения. Формат метода:
UHelperNP.uimagegray_crop(<UImageGray>, <URect>, is_normalize=False)
В качестве первого параметра указывается объект UImageGray. Второй параметр задает координаты и размеры прямоугольной области в виде объекта URect. Если в параметре is_normalize задано значение True, то будет выполнена нормализация диапазона значений от 0 до 255. По умолчанию нормализация не выполняется. Метод возвращает объект UImageGray или значение None в случае ошибки. Размеры изображения будут соответствовать размерам области пересечения, а не точным размерам объекта URect. Если пересечения нет, то метод вернет значение None. Операция выполняется с помощью библиотеки NumPy. Пример:
from unicross_image.uhelper import URect
from unicross_image.uimagegray import UImageGray
from unicross_image.uhelper_np import UHelperNP
img = UImageGray.load("foto.jpg")
print(img) # UImageGray(width=500, height=333)
r = URect(0, 0, 200, 100)
img2 = UHelperNP.uimagegray_crop(img, r)
if img2:
print(img2) # UImageGray(width=200, height=100)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
UImageGray: обрезка лишних одноцветных границ
Обрезать лишние одноцветные границы позволяет статический метод uimagegray_trim() из класса UHelperNP. Формат метода:
UHelperNP.uimagegray_trim(<UImageGray>, color=255, is_normalize=False)
В качестве первого параметра указывается объект UImageGray. Параметр color задает цвет границы в виде числа от 0 до 255. Если параметр не задан, то цвет границы будет белым. Если в параметре is_normalize задано значение True, то будет выполнена нормализация диапазона значений от 0 до 255. По умолчанию нормализация не выполняется. Метод возвращает объект UImageGray или значение None в случае ошибки. Обрезка изображения производится с помощью библиотеки NumPy. Пример:
from unicross_image.uimagegray import UImageGray
from unicross_image.uhelper_np import UHelperNP
img = UImageGray.load("foto_border.png")
print(img) # UImageGray(width=661, height=441)
img2 = UHelperNP.uimagegray_trim(img, 255)
if img2:
print(img2) # UImageGray(width=500, height=333)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage