UImageGray: вставка одного изображения в другое
Вставить одно изображение в другое позволяет статический метод uimagegray_paste() из класса UHelperNP. Формат метода:
UHelperNP.uimagegray_paste(<UImageGray1>, <UImageGray2>, <UPoint>,
is_normalize=False)
В первых двух параметрах указываются объекты UImageGray. Третий параметр задает координаты точки вставки изображения <UImageGray2> в изображение <UImageGray1> в виде объекта UPoint. Если в параметре is_normalize задано значение True, то будет выполнена нормализация диапазона значений от 0 до 255. По умолчанию нормализация не выполняется. Метод возвращает объект UImageGray или значение None в случае ошибки. Операция выполняется с помощью библиотеки NumPy. Пример вставки одного изображения в другое:
from unicross_image.uhelper import UPoint
from unicross_image.uimagegray import UImageGray
from unicross_image.uhelper_np import UHelperNP
img1 = UImageGray.load("foto.jpg")
img2 = UImageGray(50, 50, 0)
img3 = UHelperNP.uimagegray_paste(img1, img2, UPoint(50, 50))
if img3:
print(img3)
img3.save("test.png")
else:
print("Ошибка при выполнении операции")
UImageGray: объединение двух изображений
Объединить два изображения позволяет статический метод uimagegray_append() из класса UHelperNP. Формат метода:
UHelperNP.uimagegray_append(<UImageGray1>, <UImageGray2>, x=False,
is_normalize=False)
В качестве первых двух параметров указываются объекты UImageGray. Если параметр x имеет значение True, то объединение производится по горизонтали. По умолчанию применяется вертикальное объединение. Если объединение выполняется по горизонтали, то высота изображений должна быть одинаковой. Если объединение выполняется по вертикали, то ширина изображений должна быть одинаковой. Если в параметре is_normalize задано значение True, то будет выполнена нормализация диапазона значений от 0 до 255. По умолчанию нормализация не выполняется. Метод возвращает объект UImageGray или значение None в случае ошибки. Операция выполняется с помощью библиотеки NumPy. Пример объединения по вертикали:
from unicross_image.uimagegray import UImageGray
from unicross_image.uhelper_np import UHelperNP
img1 = UImageGray.load("foto.jpg")
print(img1) # UImageGray(width=500, height=333)
img2 = UImageGray(img1.get_width(), 250, 128)
# Ширина изображений должна быть одинаковой!
img3 = UHelperNP.uimagegray_append(img1, img2)
if img3:
print(img3) # UImageGray(width=500, height=583)
img3.save("test.png")
else:
print("Ошибка при выполнении операции")
Пример объединения по горизонтали:
from unicross_image.uimagegray import UImageGray
from unicross_image.uhelper_np import UHelperNP
img1 = UImageGray.load("foto.jpg")
print(img1) # UImageGray(width=500, height=333)
img2 = UImageGray(300, img1.get_height(), 128)
# Высота изображений должна быть одинаковой!
img3 = UHelperNP.uimagegray_append(img1, img2, x=True)
if img3:
print(img3) # UImageGray(width=800, height=333)
img3.save("test.png")
else:
print("Ошибка при выполнении операции")
Наложить два изображения одинакового размера друг на друга позволяет статический метод uimagegray_union_maximum() из класса UHelperNP. Формат метода:
UHelperNP.uimagegray_union_maximum(<UImageGray1>, <UImageGray2>,
is_normalize=False)
В качестве первых двух параметров указываются объекты UImageGray. Размеры изображений должны быть одинаковыми. Если в параметре is_normalize задано значение True, то будет выполнена нормализация диапазона значений от 0 до 255. По умолчанию нормализация не выполняется. Метод возвращает объект UImageGray с максимальными значениями из двух изображений или значение None в случае ошибки. Операция выполняется с помощью библиотеки NumPy. Пример:
from unicross_image.uimagegray import UImageGray
from unicross_image.uhelper_np import UHelperNP
img1 = UImageGray(3, 1)
img1.arr = [0, 128, 255]
img2 = UImageGray(3, 1)
img2.arr = [255, 100, 0]
# Размеры изображений должна быть одинаковыми!
img3 = UHelperNP.uimagegray_union_maximum(img1, img2)
if img3:
print(img3.arr) # [255, 128, 255]
else:
print("Ошибка при выполнении операции")
Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage