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() -- Визуально просмотреть изображение форм