Chuyển tới nội dung chính

Nhị phân hóa đối tượng ảnh (:binaryzation)

Khai báo

img = img:binaryzation({
[white_background = white_background,]
[csim_mode = similarity_mode,]
[csim_algorithm = color_similarity_algorithm,]
{color*, tolerance*},
{color*, tolerance*},
...
})
img = img:binaryzation("cx*-cox*,cx*-cox*...")

Tham số

  • white_background (từ phiên bản 20250302)
    Kiểu boolean, không bắt buộc. Có đặt nền thành màu trắng hay không. Mặc định là false (tiền cảnh màu trắng trên nền đen)

  • similarity_mode (từ phiên bản 20250302)
    Kiểu boolean, không bắt buộc. Có sử dụng chế độ độ tương đồng hay không. Trong chế độ này, tolerance* biểu thị độ tương đồng thay vì độ chênh lệch màu. Mặc định là false

  • color_similarity_algorithm (từ phiên bản 20250302)
    Kiểu số nguyên, không bắt buộc. Chỉ có hiệu lực trong chế độ độ tương đồng. Mặc định là 0

    Thuật toán tính độ tương đồng màu
    0 Thuật toán mặc định của XXT, độ dốc lớn, độ tương đồng giảm nhanh khi độ chênh lệch tăng
    1 Khoảng cách Manhattan, độ dốc mượt
    2 Khoảng cách Euclid, độ dốc mượt
  • color*, tolerance*
    Kiểu số nguyên. Danh sách màu cho phép. color* là giá trị màu; tolerance* là độ lệch tối đa của màu đó

  • cx*-cox*
    Kiểu chuỗi. Danh sách màu cho phép. cx* là chuỗi thập lục phân của giá trị màu; cox* là chuỗi thập lục phân của độ lệch tối đa dành cho cx*

Giá trị trả về

  • img
    Đối tượng ảnh. Trả về chính đối tượng ảnh sau khi nhị phân hóa

Mô tả

Nhị phân hóa một đối tượng ảnh
Thay đổi trực tiếp đối tượng ảnh
Hiệu năng: không sao chép dữ liệu trong quá trình thao tác

Ví dụ

local pic = screen.image(462, 242, 569, 272)
pic = pic:binaryzation({
{0x9D5D39, 0x0F1F26},
{0xD3D3D2, 0x2C2C2D},
})
local pic = screen.image(462, 242, 569, 272)
pic = pic:binaryzation("9D5D39-0F1F26,D3D3D2-2C2C2D")
local pic = screen.image(462, 242, 569, 272)
pic = pic:binaryzation({
csim_mode = true, -- sử dụng chế độ độ tương đồng
csim_algorithm = 2, -- sử dụng thuật toán Euclid
white_background = true, -- đặt nền thành màu trắng
{0x9D5D39, 90}, -- độ tương đồng 90% cho màu 0x9D5D39
{0xD3D3D2, 90}, -- độ tương đồng 90% cho màu 0xD3D3D2
})