跳到主要内容

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,
    },
    { -- 形状 1 顶点 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    ...
    },
    { -- 形状 2
    { -- 形状 2 顶点 1
    ["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() -- 可视化查看差异形状图片