Find Image (Tìm ảnh)
Chờ một ảnh template đã lưu xuất hiện trên màn, rồi rẽ theo việc có tìm thấy không.
Find Image là ngựa thồ của automation thị giác. Đa số flow là chuỗi "tìm cái này, rồi hành động trên nó".
Mục đích
Tìm một hoặc nhiều ảnh template đã chụp trên màn hình sống và báo vị trí khớp tốt nhất.
Dùng để chờ nút hay biểu tượng xuất hiện, xác nhận màn đã tải, hay cấp tọa độ khớp cho một Click. Nó liên tục kiểm các ảnh chụp mới cho đến khi khớp hoặc hết timeout — nên nó kiêm luôn vai trò chờ thông minh.
Khi nào dùng
- Chờ nút, biểu tượng, hay màn hình xuất hiện.
- Xác nhận hành động đã ăn, bằng cách phát hiện màn nó lẽ ra tạo ra.
- Định vị thứ có vị trí thay đổi, để Click chạm được.
- Phân biệt giữa nhiều màn khả dĩ, bằng branch-by-template.
Khi nào không dùng
- Đọc một giá trị — số, đồng hồ, tọa độ. Dùng Read Text.
- Phát hiện trạng thái không có biểu tượng riêng — thanh máu cạn, màn mờ dần. Dùng Check Region.
- Làm trễ cố định. Chỉ cần nghỉ thì Wait rõ hơn.
Điều kiện
Ít nhất một asset template đã chụp. Template chụp từ Live Preview và lưu cùng flow.
Cách nó chạy
Ít nhất một lần chụp và so luôn chạy, kể cả timeout rất nhỏ.
Khi timeout mà không khớp, node rẽ Failure nhưng status là success. Phép phát hiện đã chạy; ảnh đơn giản không có đó.
Nghĩa là một lần không-thấy không bao giờ kích retry policy và không bao giờ tính vào rào chắn lỗi liên tiếp. Xem status với route.
Thiết lập
| Thiết lập | Kiểu | Khoảng | Mặc định | Tác dụng |
|---|---|---|---|---|
| Template(s) | tham chiếu asset | 1–16 | — | Ảnh đã chụp cần tìm |
| Template name | string | ≤ 120 ký tự | — | Nhãn thân thiện cho bản chụp |
| Threshold | number | 0.5–0.99 | mặc định flow (0.88) | Độ tin cậy khớp tối thiểu; cao hơn = ngặt hơn |
| Search region | hình chữ nhật | phần trăm màn | cả màn | Giới hạn phép tìm — nhanh hơn, tránh khớp giả |
| Timeout | integer | 1–120000 ms | mặc định flow | Tìm trong bao lâu |
| Poll interval | integer | 50–120000 ms | mặc định flow (250) | Chụp lại thường xuyên cỡ nào |
| Multi-template | boolean | — | false | So một tập template; điểm cao nhất thắng |
| Branch by template | boolean | — | false | Mỗi template một port thay vì một Success |
| Colour mode | lựa chọn | color, grayscale | color | So màu hay xám |
| Scale mode | object | none hoặc multiScale | none | So ở dải kích thước |
| Ambiguity mode | lựa chọn | requireUnique, best, all | best | Làm gì khi nhiều chỗ khớp |
| Min best/second-best delta | number | ≥ 0 | — | Kẻ thắng phải rõ hơn bao nhiêu, cho requireUnique |
| Max matches | integer | 1–100 | — | Trần cho chế độ all |
| Save results to variables | danh sách | ≤ 16 | — | Gán trường output vào tên biến |
Threshold
Thiết lập tác động lớn nhất.
- 0.88 là điểm khởi đầu tốt và là mặc định sản phẩm.
- 0.95+ thường trượt các khớp hợp lệ — lệch một pixel hay khác khử răng cưa nhẹ đã tụt điểm.
- Dưới 0.75 bắt đầu khớp nhiễu.
Chỉnh bằng thử nghiệm, không bằng đoán: dùng Test Node xem độ tin cậy thật template đạt.
Search region
Đặt search region là cú tăng tốc rẻ nhất hiện có: bộ so làm việc trên mảnh cắt thay vì cả khung. Nó cũng chặn dương tính giả nơi khác trên màn.
Biết đại khái thứ đó ở đâu thì hãy giới hạn lại.
Multi-template và branch-by-template
Hai công tắc riêng xếp chồng:
| Cấu hình | Hành vi | Port |
|---|---|---|
| Một template | So một ảnh | success / failure |
| Multi-template bật | So một tập, giữ điểm cao nhất | success / failure |
| Multi-template + Branch by template | So một tập, rẽ theo cái nào khớp | mỗi template một port + notFound |
Branch-by-template là cách xử lý "màn này có thể ở một trong bốn trạng thái" trong một node. Id template chính là khóa port, nên đổi tên template giữ nhánh; x óa template gỡ port.
Save results to variables
Gán các trường output vào tên biến node sau dùng được:
centerX, centerY, confidence, matched, matchedTemplate, x / y / width / height của khớp, scale
Biến được tự khai khi khớp thành công.
Muốn chạm thứ vừa tìm, không cần biến — đặt coordinate source của Click là node Find Image này. Dùng biến khi cần con số để tính toán hay log.