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

cv — преобразование изображения в сведения о контурах (:cv_to_shapes)

Объявление

фигуры, визуализированное_изображение = изображение:cv_to_shapes([параметры_сопоставления_контуров])

Параметры

  • параметры_сопоставления_контуров
    Необязательный параметр, таблица

    Поля параметров сопоставления контуров
    {
    should_visualize = false | true, -- Необязательный параметр: визуализировать ли результат, по умолчанию false
    closed = false | true, -- Необязательный параметр: замыкать ли фигуры, по умолчанию false
    blur_size = integer_value, -- Необязательный параметр: размер пикселей ядра размытия, только положительное нечётное число, по умолчанию 3
    canny_threshold1 = 100, -- Необязательный параметр: минимальный порог границы, по умолчанию 100
    canny_threshold2 = 200, -- Необязательный параметр: максимальный порог границы, по умолчанию 200
    approx_epsilon = integer_value, -- Необязательный параметр: процент периметра для приближения контура, упрощающий сложный контур, по умолчанию 2
    }

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

  • фигуры
    Таблица, сведения о вершинах фигур на изображении

    Структура набора фигур
    {
    { -- Форма 1
    { -- Вершина 1 формы 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Вершина 2 формы 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    ...
    },
    { -- Форма 2
    { -- Вершина 1 формы 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Вершина 2 формы 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    ...
    },
    ...
    }
  • визуализированное_изображение
    Объект изображения. Если options.should_visualize равно true, это визуализированный результат — объект изображения

Описание

Преобразует контуры на изображении в сведения о вершинах фигур
Рекомендуется не усложнять изображения, предназначенные для преобразования в фигуры; лучше использовать замкнутые фигуры с чёткими контурами

Пример

local cv = require("image.cv")
local img = image.load_file(XXT_SCRIPTS_PATH..'/1.png')
-- Возвращаемое значение — список форм, который может содержать несколько форм
local shapes, visimg = img:cv_to_shapes({
blur_size = 3, -- Размер ядра размытия
approx_epsilon = 2, -- Степень подавления неровностей 0~100
closed = true, -- Замкнутая фигура
should_visualize = true, -- Визуализировать ли результат; при true второе возвращаемое значение — изображение
})
nLog(shapes) -- Вывести сведения о вершинах списка форм
dialog():add_image(visimg):show() -- Визуально просмотреть изображение форм