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

cv — сравнение изображений (:cv_compare_image)

Объявление

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

Параметры

  • другое_изображение
    Объект изображения, изображение для сравнения

  • параметры_сравнения
    Таблица

    Поля параметров сравнения
    {
    should_visualize = false | true, -- Необязательный параметр: визуализировать ли результат, по умолчанию false
    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 img1 = image.load_file(XXT_SCRIPTS_PATH..'/1.png')
local img2 = image.load_file(XXT_SCRIPTS_PATH..'/2.png')
-- Возвращаемое значение — список форм, который может содержать несколько форм
local shapes, visimg = img1:cv_compare_image(img2)
nLog(shapes) -- Вывести сведения о вершинах списка форм
dialog():add_image(visimg):show() -- Визуально просмотреть формы областей различий