Главная » 2025 » Декабрь » 22 » Преобразование объекта UImageGray в объект UMask и наоборот
21:54
Преобразование объекта UImageGray в объект UMask и наоборот

Преобразование объекта UImageGray в объект UMask и наоборот

Преобразовать объект UImageGray в объект UMask позволяет статический метод uimagegray_to_umask() из класса UHelperNP. Формат метода:

UHelperNP.uimagegray_to_umask(<UImageGray>, threshold=127, invert=False,
                               x=0, y=0)

В качестве первого параметра указывается объект UImageGray. Во втором параметре задается число от 0 до 255. Если параметр invert имеет значение False, то все значения меньшие или равные threshold будут преобразованы в False (фон), а все значения больше threshold будут преобразованы в True (часть объекта). Параметры x и y задают координаты начальной точки. Метод возвращает объект UMask, если операция выполнена успешно, и None — в противном случае. Операция выполняется с помощью библиотеки NumPy. Пример:

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

img = UImageGray(3, 2)
img.arr =  [0, 64, 127, 128, 180, 255]
mask = UHelperNP.uimagegray_to_umask(img, 127, x=5, y=10)
print(mask)     # UMask(width=3, height=2, x=5, y=10)
print(mask.arr)
# [False, False, False, True, True, True]

Если параметр invert имеет значение True, то все значения меньшие или равные threshold будут преобразованы в True, а все значения больше threshold будут преобразованы в False:

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

img = UImageGray(3, 2)
img.arr =  [0, 64, 127, 128, 180, 255]
mask = UHelperNP.uimagegray_to_umask(img, 127, invert=True, x=5, y=10)
print(mask)     # UMask(width=3, height=2, x=5, y=10)
print(mask.arr)
# [True, True, True, False, False, False]

Создать объект UImageGray на основе объекта UMask позволяет статический метод umask_to_uimagegray() из класса UHelperNP. Формат метода:

UHelperNP.umask_to_uimagegray(<UMask>, invert=False)

В первом параметре указывается объект UMask. Если параметр invert не задан или имеет значение False, то все значения False будут преобразованы в 0, а все значения True — в 255. Если операция выполнена успешно, то метод вернет объект UImageGray, а в противном случае — значение None. Операция выполняется с помощью библиотеки NumPy. Пример:

from unicross_image.uimagegray import UMask
from unicross_image.uhelper_np import UHelperNP

mask = UMask(3, 2)
mask.arr = [False, False, False, True, True, True]
img = UHelperNP.umask_to_uimagegray(mask)
print(img)      # UImageGray(width=3, height=2)
print(img.arr)  # [0, 0, 0, 255, 255, 255]

Если параметр invert имеет значение True, то все значения False будут преобразованы в 255, а все значения True — в 0. Пример:

from unicross_image.uimagegray import UMask
from unicross_image.uhelper_np import UHelperNP

mask = UMask(3, 2)
mask.arr = [False, False, False, True, True, True]
img = UHelperNP.umask_to_uimagegray(mask, invert=True)
print(img)      # UImageGray(width=3, height=2)
print(img.arr)  # [255, 255, 255, 0, 0, 0]

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

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