Главная » 2025 » Декабрь » 22 » Преобразование объекта UImageGray в строку в формате BWSTR и наоборот
21:57
Преобразование объекта UImageGray в строку в формате BWSTR и наоборот

Преобразование объекта UImageGray в строку в формате BWSTR и наоборот

Строка в формате BWSTR может содержать только два значения:

  • 0 — означает черный цвет (соответствует значению 0);
  • 1 — означает белый цвет (соответствует значению 255).

Строки двумерной матрицы записываются слева направо и сверху вниз. Точно так же, как в список arr.

Преобразовать черно-белое изображение, хранимое в объекте UImageGray, в строку в формате BWSTR позволяет статический метод uimagegray_to_bwstr() из класса UHelperNP. Формат метода:

UHelperNP.uimagegray_to_bwstr(<UImageGray>, invert=False)

В качестве первого параметра указывается черно-белое изображение. Если изображение не является черно-белым, то любое число больше 0, будет преобразовано в значение "1". Пример:

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

img = UImageGray(3, 2)
img.arr = [255, 255, 255,   0, 0, 0]
print(UHelperNP.uimagegray_to_bwstr(img))    # 111000

img.arr = [255, 255, 255,   128, 64, 0]
print(UHelperNP.uimagegray_to_bwstr(img))    # 111110

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

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

img = UImageGray(3, 2)
img.arr = [255, 255, 255,   0, 0, 0]
print(UHelperNP.uimagegray_to_bwstr(img, invert=True)) # 000111

img.arr = [255, 255, 255,   128, 64, 0]
print(UHelperNP.uimagegray_to_bwstr(img, invert=True)) # 000001

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

UHelperNP.bwstr_to_uimagegray(<Ширина>, <Высота>, <BWSTR>, invert=False)

В первом параметре указывается ширина изображения, а во втором — его высота. В третьем параметре задается строка в формате BWSTR. По умолчанию любая цифра внутри строки не равная 0, будет преобразована в число 255. Если операция выполнена успешно, то метод вернет объект UImageGray, а в противном случае — значение None. Пример:

from unicross_image.uhelper_np import UHelperNP

bwstr = "111000"
img = UHelperNP.bwstr_to_uimagegray(3, 2, bwstr)
print(img)        # UImageGray(width=3, height=2)
print(img.arr)    # [255, 255, 255,   0, 0, 0]

bwstr = "222000"
img = UHelperNP.bwstr_to_uimagegray(3, 2, bwstr)
print(img)        # UImageGray(width=3, height=2)
print(img.arr)    # [255, 255, 255,   0, 0, 0]

bwstr = "abc000"
img = UHelperNP.bwstr_to_uimagegray(3, 2, bwstr)
print(img)        # None

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

from unicross_image.uhelper_np import UHelperNP

bwstr = "111000"
img = UHelperNP.bwstr_to_uimagegray(3, 2, bwstr, invert=True)
print(img)        # UImageGray(width=3, height=2)
print(img.arr)    # [0, 0, 0,   255, 255, 255]

bwstr = "222000"
img = UHelperNP.bwstr_to_uimagegray(3, 2, bwstr, invert=True)
print(img)        # UImageGray(width=3, height=2)
print(img.arr)    # [0, 0, 0,   255, 255, 255]

Преобразование объекта UMask в строку в формате BWSTR и наоборот

Строка в формате BWSTR может содержать только два значения:

  • 0 — означает фон (соответствует значению False);
  • 1 — означает часть объекта (соответствует значению True).

Строки двумерной матрицы записываются слева направо и сверху вниз. Точно так же, как в список arr.

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

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

В качестве первого параметра указывается объект UMask. Пример:

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

img = UMask(3, 2)
img.arr = [True, True, True,   False, False, False]
print(UHelperNP.umask_to_bwstr(img))    # 111000

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

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

img = UMask(3, 2)
img.arr = [True, True, True,   False, False, False]
print(UHelperNP.umask_to_bwstr(img, invert=True)) # 000111

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

UHelperNP.bwstr_to_umask(<Ширина>, <Высота>, <BWSTR>, invert=False,
                          x=0, y=0)

В первом параметре указывается ширина изображения, а во втором — его высота. В третьем параметре задается строка в формате BWSTR. По умолчанию любая цифра внутри строки не равная 0, будет преобразована в  True. Параметры x и y задают координаты начальной точки. Если операция выполнена успешно, то метод вернет объект UMask, а в противном случае — значение None. Пример:

from unicross_image.uhelper_np import UHelperNP

bwstr = "111000"
img = UHelperNP.bwstr_to_umask(3, 2, bwstr, x=5, y=10)
print(img)        # UMask(width=3, height=2, x=5, y=10)
print(img.arr)    # [True, True, True, False, False, False]

bwstr = "222000"
img = UHelperNP.bwstr_to_umask(3, 2, bwstr, x=5, y=10)
print(img)        # UMask(width=3, height=2, x=5, y=10)
print(img.arr)    # [True, True, True, False, False, False]

bwstr = "abc000"
img = UHelperNP.bwstr_to_umask(3, 2, bwstr)
print(img)        # None

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

from unicross_image.uhelper_np import UHelperNP

bwstr = "111000"
img = UHelperNP.bwstr_to_umask(3, 2, bwstr, invert=True, x=5, y=10)
print(img)        # UMask(width=3, height=2, x=5, y=10)
print(img.arr)    # [False, False, False, True, True, True]

bwstr = "222000"
img = UHelperNP.bwstr_to_umask(3, 2, bwstr, invert=True, x=5, y=10)
print(img)        # UMask(width=3, height=2, x=5, y=10)
print(img.arr)    # [False, False, False, True, True, True]

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

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