Cara kerja dan penggunaan otomatisasi operasi GUI dengan pengenalan gambar
Saat merekam dan memutar ulang makro, banyak orang mengalami masalah: “kemarin masih berfungsi, tetapi hari ini posisi kliknya bergeser”. Penyebab utamanya adalah makro yang direkam bekerja berdasarkan “koordinat tetap di layar”. Jika jendela terbuka di lokasi lain, resolusi layar berubah, atau makro diputar di monitor lain, klik dapat jatuh di tempat yang tidak semestinya. Otomatisasi dengan “pengenalan gambar” mengatasi masalah mendasar ini.
Pengenalan gambar adalah teknologi yang mencari elemen di layar berdasarkan “tampilannya”, bukan koordinatnya. Gambar kecil dari tombol yang ingin diklik didaftarkan terlebih dahulu. Saat makro diputar, alat akan memindai seluruh layar untuk mencari lokasi yang cocok dengan gambar tersebut. Di mana pun tombol berpindah, selama tampilannya tetap sama, tombol dapat ditemukan dan diklik dengan akurat—inilah keunggulan pengenalan gambar.
Cara pengenalan gambar menemukan elemen
Mekanismenya sederhana. Pertama, ambil dan simpan gambar kecil (gambar templat) dari elemen yang ingin dijadikan penanda, misalnya tombol “Kirim” atau ikon tertentu. Saat makro dijalankan, alat akan mengambil gambar layar pada saat itu dan mencari area yang cocok dengan gambar templat. Jika kecocokan ditemukan, alat mengembalikan koordinat titik tengahnya, lalu makro menggerakkan mouse ke sana dan mengeklik.
Pengaturan penting di sini adalah “ambang kecocokan (akurasi pencocokan)”. Gambar tidak harus cocok 100%; misalnya, tingkat kemiripan 90% atau lebih dapat ditetapkan sebagai “cocok”. Ambang yang lebih tinggi mengurangi deteksi keliru, tetapi sedikit perbedaan tampilan dapat membuat elemen tidak ditemukan. Sebaliknya, ambang yang lebih rendah memberikan fleksibilitas, tetapi meningkatkan risiko salah mengenali elemen lain yang mirip. Kuncinya adalah menguji pada layar sebenarnya hingga menemukan nilai yang tepat.
Kapan menggunakan FIND_IMAGE dan WAIT_IMAGE
makuroku menyediakan dua perintah utama untuk menggunakan pengenalan gambar dari skrip. FIND_IMAGE adalah perintah untuk mencari “di mana gambar tersebut berada di layar pada saat ini”. Karena koordinat yang ditemukan dapat disimpan dalam variabel, perintah ini cocok untuk keperluan seperti “mengeklik tombol yang tidak diketahui akan muncul di mana”.
Sementara itu, WAIT_IMAGE adalah perintah untuk “menunggu hingga gambar tersebut muncul”. Memuat halaman Web atau menjalankan aplikasi membutuhkan waktu, dan operasi berikutnya akan gagal jika dijalankan sebelum proses selesai. Dengan WAIT_IMAGE, Anda dapat membuat otomatisasi yang andal dan menyesuaikan diri dengan keadaan layar, misalnya “menunggu ikon yang menandakan pemuatan selesai muncul sebelum melanjutkan”. Menggabungkan kedua perintah ini menghasilkan otomatisasi yang tahan terhadap “variasi waktu” yang umum dalam pekerjaan nyata dan tidak mudah rusak.
Situasi ketika pengenalan gambar sangat berguna
Pengenalan gambar sangat efektif dalam situasi berikut.
- • Aplikasi yang posisi tombol atau jendelanya berubah setiap kali ditampilkan
- • Saat ingin menunggu pemuatan atau pemrosesan selesai sebelum melanjutkan
- • Layar dengan tata letak dinamis yang tidak dapat ditangani sepenuhnya menggunakan koordinat
- • Saat ingin memicu pemrosesan ketika ikon atau status tertentu muncul
Sebaliknya, pengenalan gambar juga memiliki keterbatasan. Penentuan kecocokan cenderung tidak stabil pada desain yang tampilan targetnya sering berubah, serta pada elemen semitransparan atau beranimasi. Selain itu, karena seluruh layar harus dipindai, pemrosesannya memerlukan waktu sedikit lebih lama dibandingkan penggunaan koordinat. Alih-alih mengganti semuanya dengan pengenalan gambar, gunakan setiap metode sesuai kebutuhan: “gunakan koordinat pada bagian yang cukup ditangani dengan koordinat, dan gunakan pengenalan gambar hanya pada bagian yang posisinya berubah”. Inilah kiat untuk menghasilkan otomatisasi yang praktis dan cepat.
Kiat menyiapkan gambar templat dengan baik
Akurasi pengenalan gambar sangat dipengaruhi oleh kualitas gambar templat yang didaftarkan. Ada beberapa kiat yang dapat diterapkan. Pertama, potong area yang dijadikan penanda agar “kecil dan khas”. Alih-alih mengambil seluruh tombol, potong hanya ikon atau teks yang menjadi ciri khas tombol tersebut agar tidak mudah tertukar dengan elemen lain. Sebaliknya, jika area yang diambil terlalu besar, perubahan kecil di sekitarnya, seperti warna latar atau elemen di sebelahnya, dapat menyebabkan kecocokan tidak ditemukan.
Selanjutnya, hindari bagian yang warna atau statusnya mudah berubah. Jika tombol yang berubah warna saat penunjuk mouse diarahkan ke atasnya atau area yang disorot saat dipilih digunakan sebagai penanda, kecocokan mungkin tidak ditemukan tergantung kondisinya. Pilih bagian stabil yang selalu mempertahankan tampilan yang sama. Selain itu, perubahan skala tampilan layar juga mengubah ukuran gambar, sehingga cara paling andal adalah mengambil templat pada resolusi dan skala yang benar-benar akan digunakan. Akumulasi perhatian kecil semacam ini dapat meningkatkan tingkat keberhasilan pengenalan gambar secara signifikan.
Menggabungkan pengenalan gambar dengan metode lain
Pengenalan gambar memang kuat, tetapi bukan solusi untuk segala hal. Untuk membuat otomatisasi yang andal dalam pekerjaan nyata, pilihan yang tepat adalah menggabungkan beberapa metode sesuai kegunaannya. Untuk tombol yang posisinya sama sekali tidak berubah, penggunaan koordinat yang cepat sudah cukup. Serahkan kepada pengenalan gambar hanya tombol yang posisinya berubah atau elemen yang membutuhkan waktu untuk muncul. Jika ingin membaca informasi teks di layar, gunakan OCR (pengenalan karakter); jika ingin terintegrasi dengan layanan eksternal, gunakan komunikasi HTTP. Dengan demikian, metode dipilih sesuai tujuannya.
makuroku memungkinkan metode-metode ini digabungkan secara bebas dalam satu skrip. Misalnya, “menunggu layar siap dengan WAIT_IMAGE, mencari dan mengeklik tombol dengan FIND_IMAGE, membaca nilai hasil dengan OCR, lalu membagi pemrosesan menggunakan percabangan bersyarat”. Otomatisasi fleksibel yang menyerupai pekerjaan manusia dapat ditulis sebagai satu alur yang utuh. Jangan terpaku pada satu metode; gabungkan semuanya dengan memanfaatkan keunggulan masing-masing. Cara berpikir ini merupakan jalan tercepat menuju otomatisasi yang benar-benar dapat digunakan di lingkungan kerja nyata.
Cara mengatasi pengenalan gambar yang tidak berfungsi dengan baik
Saat mulai menggunakan pengenalan gambar, terkadang Anda mungkin menghadapi situasi ketika gambar yang seharusnya sudah didaftarkan tidak dapat ditemukan. Ada beberapa kemungkinan penyebab. Yang paling umum adalah skala tampilan atau resolusi layar saat mengambil gambar templat berbeda dengan saat pencarian sebenarnya. Akibatnya, ukuran gambar berubah sehingga tidak cocok. Solusi paling andal adalah mengambil ulang templat dengan pengaturan yang sama seperti lingkungan penggunaannya.
Penyebab umum berikutnya adalah ambang kecocokan yang terlalu ketat. Jika Anda menuntut kecocokan sempurna 100%, perbedaan warna atau antialiasing yang sangat kecil pun dapat membuat gambar tidak ditemukan. Pengenalan sering kali menjadi lebih stabil jika ambang sedikit diturunkan dan kemiripan sekitar 90% dianggap cocok. Namun, jika diturunkan terlalu jauh, deteksi keliru akan meningkat. Karena itu, ujilah pada layar sebenarnya untuk menemukan nilai yang tepat.
Jika masalah masih belum teratasi, tinjau kembali area yang dipilih sebagai templat. Jika Anda menjadikan bagian dengan latar yang mudah berubah atau bagian yang disorot saat dipilih sebagai penanda, tampilannya akan berubah sesuai keadaan sehingga tidak lagi cocok. Membatasi templat pada bagian khas dan stabil yang selalu terlihat sama—seperti ikon atau logo unik—akan meningkatkan tingkat keberhasilan. Memilih penanda yang mudah ditemukan adalah kiat terpenting untuk menstabilkan pengenalan gambar.
Pengenalan gambar memang memerlukan sedikit upaya penyesuaian pada awalnya, tetapi setelah dikonfigurasi dengan baik, fitur ini memberikan fleksibilitas yang tidak dapat dicapai dengan koordinat tetap. Meskipun jendela berpindah atau tata letak berubah, sistem tetap merespons dengan akurat selama tampilannya sama. Ketangguhan ini memberikan rasa aman saat automasi digunakan dalam jangka panjang di lingkungan kerja nyata.
Skenario praktis menggunakan pengenalan gambar
Mari kita lihat kemampuan pengenalan gambar melalui skenario konkret. Misalnya, kita ingin mengotomatiskan pekerjaan mengunduh data secara berkala dari suatu aplikasi Web. Setiap kali masuk, tata letak layar aplikasi ini sedikit berubah dan posisi tombol unduh juga tidak tetap. Makro berbasis koordinat tidak dapat menyesuaikan diri dengan perubahan tersebut dan akan segera berhenti berfungsi.
Di sinilah pengenalan gambar berperan. Pertama, daftarkan ikon tombol unduh sebagai gambar templat. Makro menggunakan WAIT_IMAGE untuk menunggu halaman selesai dimuat, lalu menggunakan FIND_IMAGE untuk mencari tombol unduh di layar dan mengeklik posisinya. Di mana pun tombol ditampilkan, tombol tersebut dapat ditemukan dan diklik secara akurat selama tampilannya sama. Hasilnya adalah automasi stabil yang tidak terpengaruh perubahan tata letak.
Selain itu, jika Anda menggunakan WAIT_IMAGE untuk menunggu pesan bahwa unduhan telah selesai sebelum melanjutkan ke proses berikutnya, tidak ada langkah yang terlewat bahkan saat koneksi lambat. Dengan demikian, pengenalan gambar membawa penilaian yang secara alami dilakukan manusia ke dalam automasi: melihat kondisi layar serta mengoperasikan tempat yang tepat pada waktu yang tepat. Karena itulah automasi yang tangguh dapat dibuat bahkan di lingkungan kerja nyata yang penuh perubahan.
Skenario seperti ini dapat diterapkan bukan hanya pada aplikasi Web, tetapi juga pada aplikasi desktop, sistem bisnis, dan berbagai situasi lainnya. Dengan pengenalan gambar, bahkan pekerjaan yang sebelumnya tidak jadi diotomatiskan karena posisinya berpindah atau waktunya sulit diprediksi kini menjadi terjangkau. Mulailah dengan mengingat pekerjaan yang selalu menyulitkan karena posisinya bergeser, lalu coba stabilkan dengan pengenalan gambar.
Membangun automasi yang tangguh
Apakah automasi benar-benar berguna di lapangan ditentukan oleh kemampuannya menghadapi situasi yang tidak terduga. Automasi yang hanya mengandalkan koordinat rekaman mungkin berhasil pada percobaan pertama, tetapi sering berhenti hanya karena sedikit perubahan lingkungan. Dengan menggabungkan pengenalan gambar, Anda dapat memasukkan penilaian yang secara tidak sadar dilakukan manusia ke dalam automasi, seperti mengeklik berdasarkan tampilan atau menunggu hingga layar siap.
Selain perekaman melalui GUI, makuroku juga menyediakan perintah pengenalan gambar seperti FIND_IMAGE dan WAIT_IMAGE sebagai fitur standar. Pertama, rekam operasi untuk membuat kerangka dasarnya, lalu ganti dengan pengenalan gambar hanya pada bagian yang posisinya berubah atau yang perlu menunggu waktu yang tepat. Dengan kombinasi ini, Anda dapat membuat otomatisasi yang tidak langsung rusak ketika menghadapi kejadian tak terduga pertama, tetapi mampu bertahan menghadapi ketidakteraturan kondisi nyata. Karena semua fitur dapat dicoba secara gratis, mulailah dengan menggunakan pengenalan gambar untuk menstabilkan “pekerjaan yang selama ini merepotkan karena posisinya selalu bergeser”.
Coba gratis
Otomatiskan dengan makuroku
makuroku merekam mouse dan keyboard Anda, lalu memutarnya ulang secara otomatis. Tambahkan skrip SCR dan integrasi AI (MCP) saat butuh lebih. Semua fitur gratis di Windows.