cv - So sánh ảnh (:cv_compare_image)
Khai báo
shapes, visualized = img:cv_compare_image(other_img[, options])
Tham số
-
other_img
Đối tượng ảnh. Ảnh dùng để so sánh -
options
Kiểu bảngCác trường tùy chọn
{
should_visualize = false | true, -- không bắt buộc, có xuất ảnh trực quan hóa hay không, mặc định false
approx_epsilon = integer_value, -- không bắt buộc, tỷ lệ phần trăm chu vi dùng để xấp xỉ đường viền, giúp đơn giản hóa đường viền phức tạp, mặc định 2
}
Giá trị trả về
-
shapes
Kiểu bảng. Danh sách các hình dạng biểu thị phần khác biệt giữa hai ảnhCấu trúc hình dạng
{
{ -- hình dạng 1
{ -- đỉnh 1
["y"] = number_value,
["x"] = number_value,
},
{ -- đỉnh 2
["y"] = number_value,
["x"] = number_value,
},
...
},
{ -- hình dạng 2
{ -- đỉnh 1
["y"] = number_value,
["x"] = number_value,
},
{ -- đỉnh 2
["y"] = number_value,
["x"] = number_value,
},
...
},
...
} -
visualized
Đối tượng ảnh. Khioptions.should_visualizelàtrue, đây là ảnh trực quan hóa
Mô tả
So sánh hai ảnh để tìm điểm khác biệt và trả về danh sách đỉnh của các vùng khác biệt
Hai ảnh phải có cùng kích thước
Ví dụ
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')
-- trả về danh sách hình dạng; có thể chứa nhiều hình dạng
local shapes, visimg = img1:cv_compare_image(img2)
nLog(shapes) -- in danh sách hình dạng
dialog():add_image(visimg):show() -- trực quan hóa ảnh khác biệt