Главная » 2025 » Декабрь » 22 » UImageGray: добавление рамки вокруг изображения или с одной стороны
22:21
UImageGray: добавление рамки вокруг изображения или с одной стороны

UImageGray: добавление рамки вокруг изображения или с одной стороны

Добавить рамку вокруг изображения позволяет статический метод uimagegray_add_border() из класса UHelperNP. Формат метода:

UHelperNP.uimagegray_add_border(<UImageGray>, border_size=1, color=0,
                                 is_normalize=False)

В качестве первого параметра указывается объект UImageGray. Толщина рамки (в диапазоне от 1 до 100) задается во втором параметре (по умолчанию рисуется рамка толщиной 1px). В параметре color можно указать цвет рамки в виде числа от 0 до 255. Если параметр не указан, то рамка будет черного цвета. Если в параметре is_normalize задано значение True, то будет выполнена нормализация диапазона значений от 0 до 255. По умолчанию нормализация не выполняется. Метод возвращает объект UImageGray или значение None в случае ошибки. Операция выполняется с помощью библиотеки NumPy. Пример добавления рамки черного цвета толщиной 3px:

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)
img2 = UHelperNP.uimagegray_add_border(img, border_size=3, color=0)
if img2:
    print(img2) # UImageGray(width=506, height=339)
    img2.save("test.png")
else:
    print("Ошибка при выполнении операции")

Добавить рамку сверху изображения позволяет статический метод uimagegray_add_border_top() из класса UHelperNP. Формат метода:

UHelperNP.uimagegray_add_border_top(<UImageGray>, border_size=50,
                                     color=0, is_normalize=False)

В качестве первого параметра указывается объект UImageGray. Толщина рамки (в диапазоне от 1 до 1000) задается во втором параметре (по умолчанию рисуется рамка толщиной 50px). В параметре color можно задать цвет рамки в виде числа от 0 до 255. Если параметр не указан, то рамка будет черного цвета. Если в параметре is_normalize задано значение True, то будет выполнена нормализация диапазона значений от 0 до 255. По умолчанию нормализация не выполняется. Метод возвращает объект UImageGray или значение None в случае ошибки. Операция выполняется с помощью библиотеки NumPy. Пример добавления рамки черного цвета толщиной 100px сверху изображения:

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)
img2 = UHelperNP.uimagegray_add_border_top(img, border_size=100,
                                           color=0)
if img2:
    print(img2) # UImageGray(width=500, height=433)
    img2.save("test.png")
else:
    print("Ошибка при выполнении операции")

Добавить рамку снизу изображения позволяет статический метод uimagegray_add_border_bottom() из класса UHelperNP. Формат метода:

UHelperNP.uimagegray_add_border_bottom(<UImageGray>, border_size=50,
                                        color=0, is_normalize=False)

В качестве первого параметра указывается объект UImageGray. Толщина рамки (в диапазоне от 1 до 1000) задается во втором параметре (по умолчанию рисуется рамка толщиной 50px). В параметре color можно задать цвет рамки в виде числа от 0 до 255. Если параметр не указан, то рамка будет черного цвета. Если в параметре is_normalize задано значение True, то будет выполнена нормализация диапазона значений от 0 до 255. По умолчанию нормализация не выполняется. Метод возвращает объект UImageGray или значение None в случае ошибки. Операция выполняется с помощью библиотеки NumPy. Пример добавления рамки черного цвета толщиной 100px снизу изображения:

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)
img2 = UHelperNP.uimagegray_add_border_bottom(img, border_size=100,
                                              color=0)
if img2:
    print(img2) # UImageGray(width=500, height=433)
    img2.save("test.png")
else:
    print("Ошибка при выполнении операции")

Добавление паддинга для свертки

Добавить паддинг с отражением вокруг изображения позволяет статический метод uimagegray_add_border_reflect() из класса UHelperNP. Крайние пиксели зеркально отражаются на рамку (при этом самые крайние пиксели не повторяются). Такой паддинг можно использовать для свертки. Формат метода:

UHelperNP.uimagegray_add_border_reflect(<UImageGray>, border_size=1,
                                         is_normalize=False)

В качестве первого параметра указывается объект UImageGray. Толщина рамки (в диапазоне от 1 до 5) задается во втором параметре (по умолчанию рисуется рамка толщиной 1px). Если в параметре is_normalize задано значение True, то будет выполнена нормализация диапазона значений от 0 до 255. По умолчанию нормализация не выполняется. Метод возвращает объект UImageGray или значение None в случае ошибки. Операция выполняется с помощью библиотеки NumPy. Пример добавления паддинга толщиной 3px:

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)
img2 = UHelperNP.uimagegray_add_border_reflect(img, border_size=3)
if img2:
    print(img2) # UImageGray(width=506, height=339)
    img2.save("test.png")
else:
    print("Ошибка при выполнении операции")

Добавить симметричный паддинг вокруг изображения позволяет статический метод uimagegray_add_border_symmetric() из класса UHelperNP. Крайние пиксели симметрично отражаются на рамку (при этом самые крайние пиксели повторяются). Такой паддинг можно использовать для свертки. Формат метода:

UHelperNP.uimagegray_add_border_symmetric(<UImageGray>, border_size=1,
                                           is_normalize=False)

В качестве первого параметра указывается объект UImageGray. Толщина рамки (в диапазоне от 1 до 5) задается во втором параметре (по умолчанию рисуется рамка толщиной 1px). Если в параметре is_normalize задано значение True, то будет выполнена нормализация диапазона значений от 0 до 255. По умолчанию нормализация не выполняется. Метод возвращает объект UImageGray или значение None в случае ошибки. Операция выполняется с помощью библиотеки NumPy. Пример добавления паддинга толщиной 3px:

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)
img2 = UHelperNP.uimagegray_add_border_symmetric(img, border_size=3)
if img2:
    print(img2) # UImageGray(width=506, height=339)
    img2.save("test.png")
else:
    print("Ошибка при выполнении операции")

Давайте сравним два способа паддинга:

from unicross_image.uimagegray import UImageGray
from unicross_image.uhelper_np import UHelperNP

img = UImageGray(3, 3)
img.arr = [1, 2, 3,
           4, 5, 6,
           7, 8, 9]
img2 = UHelperNP.uimagegray_add_border_reflect(img, border_size=2)
print(img2.arr)
"""
[ 9, 8,  7, 8, 9,  8, 7,
  6, 5,  4, 5, 6,  5, 4,
  
  3, 2,  1, 2, 3,  2, 1,
  6, 5,  4, 5, 6,  5, 4,
  9, 8,  7, 8, 9,  8, 7,
  
  6, 5,  4, 5, 6,  5, 4,
  3, 2,  1, 2, 3,  2, 1]
"""
img3 = UHelperNP.uimagegray_add_border_symmetric(img, border_size=2)
print(img3.arr)
"""
[ 5, 4,  4, 5, 6,  6, 5,
  2, 1,  1, 2, 3,  3, 2,
  
  2, 1,  1, 2, 3,  3, 2,
  5, 4,  4, 5, 6,  6, 5,
  8, 7,  7, 8, 9,  9, 8,
  
  8, 7,  7, 8, 9,  9, 8,
  5, 4,  4, 5, 6,  6, 5]
"""

Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage

Категория: UImage | Просмотров: 4 | Добавил: unicross | Теги: UImageGray, UImage, Python, NumPy, UHelperNP | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Списки слов [10]
Списки слов и словари
OCR [4]
Оптическое распознавание символов
UImage [80]
Графическая библиотека для Python
UImage C [7]
Графическая библиотека для Python
Программы [4]
Полезные программы
Прочее [3]
Другие темы
Календарь
«  Декабрь 2025  »
Пн Вт Ср Чт Пт Сб Вс
1234567
891011121314
15161718192021
22232425262728
293031