Saya akan menjelaskan mengambil contoh GUI dari aplikasi Kalkulator di windows. Mengingat aplikasi Kalkulator ini terbuka dan fokus, saya perlu menemukan cara untuk mendeteksi semua tombol. Saya hanya dapat menggunakan metode yang tidak mengganggu, jadi hal-hal seperti id tombol tidak dapat dilakukan. Ini mengarahkan saya ke pengenalan gambar. Atau lebih baik mengatakan deteksi gambar, karena saya tidak ingin gambar tertentu, tetapi satu set gambar yang mengikuti pola tertentu. Saya tahu bagaimana saya bisa mengklik / klik kanan / klik-dbl / etc menggunakan gambar tombol yang diberikan dan pengenalan gambar [1]. Saya tidak tahu bagaimana saya bisa melakukan sebaliknya: memindai GUI dan menemukan area-area yang memenuhi persyaratan sebagai tombol (persegi panjang, teks / ikon / grafik berlabel dll). Menangani yang lebih besar akan mendeteksi item yang tidak memiliki bentuk persegi panjang (misalnya ikon pada desktop windows)
Hal terdekat dari yang saya butuhkan adalah mendeteksi wajah dalam sebuah gambar. [2] Tetapi saya tidak tahu bagaimana menerapkan ini dalam kasus saya. Untuk deteksi wajah manusia, saya melihat bahwa ratusan gambar wajah harus digunakan pada generasi kaskade Haar (tidak tahu bagaimana saya akan melakukan ini hanya dengan snapshot tombol 10-15). Jika jenis objek lain harus dideteksi seperti apel, Anda perlu membuat kaskade Haar untuk objek itu lagi menggunakan banyak gambar.
Apakah ada di antara Anda yang pernah mencoba mendeteksi tombol, item, atau apa pun dalam GUI hanya menggunakan deteksi pola? Saya hanya perlu sesuatu untuk memberi tahu saya "ini adalah ikon / tombol" sehingga saya dapat mengambil wilayah itu dalam sebuah snapshot.
[1] Saya menggunakan SikuliX dengan Python untuk melakukan tindakan pada pola yang diberikan.
[2] Saya melihat ini dilakukan dengan mudah menggunakan OpenCV dan Haar cascades (dalam format XML). Membuat Haar cacade membutuhkan sedikit kesabaran dan keterampilan.
sumber
Setelah mengulangi pertanyaan saya, saya mendapat jawaban yang saya cari. Itu contoh lain bahwa Anda harus tahu apa yang harus diminta untuk menerima apa yang Anda butuhkan. Inilah halamannya: Bagaimana saya bisa mendeteksi elemen GUI menggunakan opencv? Terima kasih untuk bantuannya!
sumber