Làm cách nào để phát hiện các phần tử của GUI bằng opencv?


7

Đưa ra một ảnh chụp màn hình của một ứng dụng, có cách nào để tìm các thành phần GUI của ứng dụng đó chỉ bằng opencv không? (một cái gì đó giống như trong hình ảnh) Hình ảnh Outlook mong muốn sau khi phát hiện phần tử

Tôi đã cố gắng chơi với pha trộn hình ảnh và các hiệu ứng khác từ mẫu coherence.py trong thư mục cài đặt opencv. Không thành công để có được một kết quả khả thi.

Có ai đã làm điều này? Bạn có biết tôi có thể thử cái gì không?

Cảm ơn

(Tôi chưa quen với opencv và xử lý hình ảnh, vì vậy vui lòng không tránh giải thích rõ ràng nếu có thể) :)


2
Đây không phải là trong OpenCV, nhưng hãy xem Sikuli.org có chính xác mục đích bạn đang tìm kiếm
Ivo Flipse

tôi biết về Sikuli. Những gì tôi cần là một cách để phát hiện các lĩnh vực quan tâm mà không thực sự chụp ảnh màn hình trước. Câu trả lời là phương pháp MSER với khởi tạo cụ thể. Dù sao, cảm ơn vì mẹo Sikuli.
Radu Enea

Nếu tôi có thể hỏi những gì bạn đã lập trình? Tôi đến đây để tìm kiếm cùng một câu hỏi. Ý định của tôi là làm cho các thành phần có thể nhấp vào bàn phím khi đối với các ứng dụng không có phím tắt được xác định. Bạn đã làm việc trên một cái gì đó tương tự?
urza.cc

Không, đó là một dự án nhỏ về tự động hóa thử nghiệm UI. Nó được cho là "xem" người dùng tương tác với UI và sau đó tạo các tập lệnh nhỏ để phát lại các hành động. Tôi đã từ bỏ nó tại một số điểm do sự thiếu tin cậy của Sikuli về lâu dài. Tôi có thể lấy ảnh chụp màn hình của các thành phần trong UI, nhưng Sikuli đã không tìm thấy tất cả chúng trong 100% trường hợp (có thể chúng quá nhỏ hoặc quá giống với các yếu tố khác)
Radu Enea

Câu trả lời:


9

Trình trích xuất MSER của OpenCV (được ghi lại ở đây ) có thể hữu ích - hộp giới hạn của các nhóm MSER cục bộ sẽ khá khớp với các hình chữ nhật màu xanh lá cây trong mockup của bạn.


Cảm ơn. Trông giống như những gì tôi đang tìm kiếm. Tôi sẽ thử một trong những ngày này
Radu Enea

Yap. Tôi đã làm nó. Tôi chỉ cần tinh chỉnh nó bây giờ cho những gì tôi cần. Cảm ơn một lần nữa.
Radu Enea
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.