跳至主要內容

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() -- 可視化查看差異形狀圖片