Tìm màu trong ảnh (:find_color)
Khai báo
tọa độ x, tọa độ y = ảnh:find_color({
[find_all = có tìm nhiều kết quả hay không,]
[max_results = số kết quả tối đa,]
[max_miss = số điểm không khớp tối đa cho phép,]
[find_order = thứ tự tìm màu,]
[csim_algorithm = thuật toán độ tương đồng màu,]
{tọa độ x của điểm bắt đầu, tọa độ y của điểm bắt đầu, màu của điểm bắt đầu[, độ tương đồng của điểm bắt đầu]},
{tọa độ x của điểm lệch*, tọa độ y của điểm lệch*, màu của điểm lệch*[, độ tương đồng của điểm lệch*]},
{tọa độ x của điểm lệch*, tọa độ y của điểm lệch*, màu của điểm lệch*[, độ tương đồng của điểm lệch*]},
...
} [, độ tương đồng toàn cục, trái, trên, phải, dưới ])
Tham số
-
có tìm nhiều kết quả hay không
Kiểu boolean, không bắt buộc. Nếu làtrue, trả về tất cả vị trí khớp trong phạm vi dưới dạng{{x1,y1},{x2,y2},...}. Mặc định làfalse -
số kết quả tối đa
Kiểu số nguyên, không bắt buộc. Khifind_alllàtrue, đây là số kết quả tối đa được trả về (<=1000). Mặc định là100 -
số điểm không khớp tối đa cho phép
Kiểu số nguyên, không bắt buộc. Số điểm không khớp tối đa được phép. Mặc định là0(phải khớp tất cả) -
thứ tự tìm màu
Kiểu số nguyên, không bắt buộc. Thứ tự tìm kiếm từ1 ~ 8. Mặc định là1Giá trị thứ tự tìm kiếm
1 Trên-Dưới-Trái-Phải
2 Trái-Phải-Trên-Dưới
3 Phải-Trái-Trên-Dưới
4 Trên-Dưới-Phải-Trái
5 Dưới-Trên-Phải-Trái
6 Phải-Trái-Dưới-Trên
7 Trái-Phải-Dưới-Trên
8 Dưới-Trên-Trái-PhảiAPI màn hình
screen.find_colorkhông có trường này
Minh họa thứ tự tìm kiếm -
thuật toán độ tương đồng màu (được hỗ trợ từ phiên bản 20250302)
Kiểu số nguyên, không bắt buộc. Mặc định là0Thuậ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
1 Khoảng cách Manhattan, độ dốc mượt
2 Khoảng cách Euclid, độ dốc mượt -
tọa độ x của điểm bắt đầu, tọa độ y của điểm bắt đầu
Kiểu số nguyên. Tọa độ tham chiếu ban đầu, được dùng làm mốc để tính độ lệch. Nếu không cần dùng độ lệch, hãy đặt là0, 0 -
màu của điểm bắt đầu
Kiểu số nguyên. Giá trị màu cần tìm -
độ tương đồng của điểm bắt đầu
Kiểu số nguyên, không bắt buộc. Trong khoảng1 ~ 100. Mặc định là100 -
tọa độ x của điểm lệch*, tọa độ y của điểm lệch*
Kiểu số nguyên. Vị trí lệch so với điểm bắt đầu -
màu của điểm lệch*
Kiểu số nguyên. Màu dự kiến tại vị trí lệch -
độ tương đồng của điểm lệch*
Kiểu số nguyên, không bắt buộc. Trong khoảng-100 ~ 100. Mặc định là100. Độ tương đồng âm nghĩa là khớp khi độ tương đồng nhỏ hơn giá trị tuyệt đối của tham số -
độ tương đồng toàn cục
Kiểu số nguyên, không bắt buộc. Được dùng khi không chỉ định độ tương đồng cho một điểm. Trong khoảng1 ~ 100. Mặc định là100 -
trái, trên, phải, dưới
Kiểu số nguyên, không bắt buộc. Vùng tìm kiếm. Mặc định là toàn bộ ảnh
Giá trị trả về
- tọa độ x, tọa độ y
Kiểu số nguyên. Tọa độ của cấu trúc khớp đầu tiên. Trả về-1, -1nếu không tìm thấy
Mô tả
Sử dụng chế độ độ tương đồng để tìm vị trí đầu tiên trong vùng khớp với cấu trúc màu nhiều điểm
Để biết cách sử dụng chế độ độ lệch, xemscreen.find_color
Ví dụ
img = screen.image()
x, y = img:find_color({
{ 0, 0, 0xec1c23},
{ 12, -3, 0xffffff, 85},
{ 5, -18, 0x00adee},
{ -1, -10, 0xffc823},
{ 2, -34, 0xa78217},
{ 12, -55, 0xd0d2d2},
}, 90, 0, 0, 100, 100)
--
--[[
Trong vùng từ góc trên bên trái (0, 0) đến góc dưới bên phải (100, 100),
tìm điểm đầu tiên có độ tương đồng với màu 0xec1c23 lớn hơn 90,
đồng thời màu tại vị trí tương đối (12, -3) có độ tương đồng với 0xffffff lớn hơn 85,
màu tại vị trí tương đối (5, -18) có độ tương đồng với 0x00adee lớn hơn 90,
và tất cả các điểm còn lại cũng khớp theo cách tương tự.
--]]
--
-- Đoạn mã tương đương:
--
x, y = img:find_color({
{ 509, 488, 0xec1c23},
{ 521, 485, 0xffffff, 85},
{ 514, 470, 0x00adee},
{ 508, 478, 0xffc823},
{ 511, 454, 0xa78217},
{ 521, 433, 0xd0d2d2},
}, 90, 0, 0, 100, 100)
--
--[[
Trong vùng từ góc trên bên trái (0, 0) đến góc dưới bên phải (100, 100),
tìm điểm đầu tiên có độ tương đồng với màu 0xec1c23 lớn hơn 90,
đồng thời màu tại vị trí tương đối (521-509, 485-488) có độ tương đồng với 0xffffff lớn hơn 85,
màu tại vị trí tương đối (514-509, 470-488) có độ tương đồng với 0x00adee lớn hơn 90,
và tất cả các điểm còn lại cũng khớp theo cách tương tự.
--]]