Перейти к основному содержимому

Бинаризация объекта изображения (:binaryzation)

Объявление

изображение = изображение:binaryzation({
[white_background = белый_фон,]
[csim_mode = режим_сходства,]
[csim_algorithm = алгоритм_сходства_цветов,]
{цвет*, смещение_цвета*},
{цвет*, смещение_цвета*},
...
})
изображение = изображение:binaryzation("cx*-cox*,cx*-cox*...")

Параметры

  • белый_фон (поддерживается начиная с версии 20250302)
    Логическое значение, необязательный параметр: сделать ли фон белым; по умолчанию false, то есть белый передний план и чёрный фон
  • режим_сходства (поддерживается начиная с версии 20250302)
    Логическое значение, необязательный параметр: использовать ли режим сходства; в этом режиме color_offset* означает сходство, а не разность цветов; по умолчанию false
  • алгоритм_сходства_цветов (поддерживается начиная с версии 20250302)
    Целое число, необязательный параметр, алгоритм сходства цветов; действует только в режиме сходства, по умолчанию 0
    Алгоритмы сходства цветов
    0 — алгоритм XXT по умолчанию, с крутым градиентом; разность быстро снижает сходство
    1 — манхэттенский алгоритм, плавный градиент
    2 — евклидов алгоритм, плавный градиент
  • цвет*, смещение_цвета*
    Целые числа, белый список значений цветов: цвет* — само значение цвета, смещение_цвета* — максимальная разность для цвет*
  • cx*-cox*
    Текстовые значения, белый список цветов: cx* — шестнадцатеричное текстовое представление цвета, cox* — шестнадцатеричное текстовое представление максимальной разности для cx*

Возвращаемое значение

  • изображение
    Объект изображения, после бинаризации возвращается сам объект изображения

Описание

Выполняет бинаризацию объекта изображения
Изменяет сам объект
С точки зрения производительности операция не создаёт копию данных

Пример

local pic = screen.image(462, 242, 569, 272)
pic = pic:binaryzation({
{0x9D5D39, 0x0F1F26},
{0xD3D3D2, 0x2C2C2D},
})
local pic = screen.image(462, 242, 569, 272)
pic = pic:binaryzation("9D5D39-0F1F26,D3D3D2-2C2C2D")
local pic = screen.image(462, 242, 569, 272)
pic = pic:binaryzation({
csim_mode = true, -- Использовать режим сходства
csim_algorithm = 2, -- Использовать евклидов алгоритм
white_background = true, -- Сделать фон белым
{0x9D5D39, 90}, -- Сходство цвета 0x9D5D39 равно 90%
{0xD3D3D2, 90}, -- Сходство цвета 0xD3D3D2 равно 90%
})