3 poin oleh GN⁺ 2024-03-17 | 1 komentar | Bagikan ke WhatsApp
  • TextSnatcher adalah aplikasi OCR untuk menyalin teks di dalam gambar dengan cepat di Linux; pengguna dapat menyeret area gambar untuk melakukan pengenalan karakter lalu menempelkan hasilnya
  • Fitur utamanya mencakup dukungan multibahasa, menyalin teks dari gambar, menyeret di atas gambar apa pun lalu menempelkan hasilnya, serta penggunaan yang cepat dan mudah
  • Untuk pengenalan karakter, aplikasi ini menggunakan Tesseract OCR 4.x, dan menyediakan tautan ke dokumentasi Tesseract serta proyek Tesseract
  • Distribusi tersedia melalui Flathub dan AppCenter elementary OS; untuk membangun sendiri, digunakan prosedur instalasi berbasis Meson dan Ninja
  • Untuk menjalankan aplikasi diperlukan scrot, tesseract-ocr, dan data bahasa Tesseract; proyek saat ini menyatakan akan kembali bulan depan dengan pembaruan dan perbaikan

Apa yang Dilakukan TextSnatcher

  • TextSnatcher adalah aplikasi Linux untuk menyalin teks dari gambar dan melakukan pekerjaan OCR dalam hitungan detik
  • Pengguna dapat menyeret area di atas gambar untuk menyalin teks lalu menempelkannya
  • Fitur yang disediakan:
    • Dukungan multibahasa

      • Menyalin teks dari gambar dengan menyeret area
      • Menyeret di atas gambar apa pun lalu menempelkan hasilnya
      • Penggunaan yang cepat dan mudah

Mesin OCR dan Proyek Terkait

Instalasi dan Jalur Distribusi

  • Aplikasi dapat diperoleh dari Flathub
  • Pengguna elementary OS dapat memperolehnya melalui AppCenter

Dependensi dan Build

  • Dependensi runtime yang diperlukan saat menjalankan aplikasi:
    • scrot
    • tesseract-ocr
    • Data bahasa Tesseract
      • Menyediakan tautan ke repositori Arch dan repositori Debian
  • Dependensi build-time yang diperlukan saat build:
    • granite
    • gtk+-3.0
    • gobject-2.0
    • gdk-pixbuf-2.0
    • libhandy-1
    • libportal-0.5
  • Untuk build dan menjalankannya sendiri, alurnya adalah meng-clone repositori, membuat direktori build Meson, menginstal dengan Ninja, lalu menjalankan com.github.rajsolai.textsnatcher

Status Pengembangan dan Sumber

  • Proyek ini menyertakan badge yang menyatakan bahwa proyek dibuat dengan Vala
  • README menyebutkan bahwa saat ini pengembang sedang mengumpulkan dana untuk membeli PC Linux, dan proyek akan segera kembali bulan depan dengan pembaruan dan perbaikan
  • Hal-hal yang disebut sebagai inspirasi adalah README Planner, struktur aplikasi Develop, dan aplikasi macOS TextSniper

1 komentar

 
GN⁺ 2024-03-17
Komentar Hacker News
  • Menggunakan skrip seperti Dibby053; setelah mengambilnya dari Stack Overflow, sedikit dimodifikasi agar berjalan di KDE/GNOME dan Wayland/X11, serta menampilkan status saat ini lewat notifikasi
    Deteksi X11/Wayland belum saya uji sendiri, tetapi silakan mencobanya dan beri tahu hasilnya

    • Saya sedikit mengubah skripnya agar pekerjaan pembersihan berjalan dengan benar, dan menjalankan spectacle dalam mode latar belakang supaya jendela tidak muncul setelah tangkapan layar
    • Penanganan galatnya bagus, tetapi berkas sementara bisa dilewati dan cukup diteruskan lewat pipe
      Caranya merangkai grim, slurp, mogrify, tesseract, wl-copy, lalu memilih bahasa OCR dengan fuzzel
    • Saya juga memakai skrip yang sama, lalu menemukan cara ini di HN
      Memilih bahasa dengan dmenu dan memprosesnya seperti maim -us | tesseract --dpi 145 -l eng+${lang} - - | xsel -bi
      https://news.ycombinator.com/item?id=33704483#33705272
    • Ada kalanya ShellCheck memberi positif palsu pada trap "cleanup '$SCR_IMG'" EXIT, tetapi dalam kasus ini komentarnya tidak sepenuhnya salah
      Perintah yang diberikan ke trap umumnya dievaluasi sehingga ekspansi variabel terjadi, dan trap 'cleanup "$SCR_IMG"' EXIT bekerja lebih aman
      Jika memakai Bash terbaru, trap "cleanup ${SCR_IMG@Q}" EXIT juga bisa menjadi pilihan
    • Saya mengikat pintasan ke bash -c 'flameshot gui -s -r | tesseract - - | gxmessage -title "Decoded Data" -fn "Consolas 12" -wrap -geometry 640x480 -file -'
      Tekan Super+O lalu seret area yang ingin di-OCR, dan teks yang ditangkap langsung muncul sebagai dialog pop-up
  • Skrip yang dulu saya salin dari suatu tempat melakukan pekerjaan ini dengan cukup baik
    Caranya menangkap area dengan scrot, melakukan praproses hitam-putih dan pembesaran dengan mogrify, lalu mengekstrak teks dengan tesseract, memasukkannya ke clipboard dengan xsel, dan menampilkan notifikasi

    • Sebagai tambahan untuk berbagi, saya lebih suka maim daripada scrot
      Berkat opsi --nodrag, saat memilih area dengan trackpad cukup klik sekali, pindahkan kursor, lalu klik lagi, jadi lebih nyaman
      Pada maim -s --nodrag --quality=10 $IMG.png, 10 setara dengan 100 pada scrot
    • Saya memakai cara seperti ini cukup lama, tetapi Tesseract cukup sering berada di bawah ekspektasi
      Praproses pembesaran juga tidak terasa banyak bedanya, dan saya tidak yakin praproses seperti apa yang akan membuatnya lebih baik
      Saya penasaran apakah TextSnatcher punya peningkatan dibanding ini, tetapi halaman GitHub-nya tidak jelas
    • Saya juga pernah punya skrip serupa dalam PowerShell, tetapi hilang ditelan waktu bersama berbagai skrip kecil dari tempat kerja sebelumnya
      Maaf untuk rekan-rekan yang hidup di antara Unix dan Windows
    • Untuk trap "rm $IMG*" EXIT, sebaiknya lihat https://www.shellcheck.net/wiki/SC2064
      Lebih baik memakai mktemp -d dan menghapus direktori secara rekursif
    • Bagi saya, cara ini pas sekali
      Mengikat skrip ke pintasan keyboard jauh lebih baik daripada harus menekan jendela yang punya tombol
  • Untuk sesama orang biasa yang memakai Windows, fitur ini juga ada di add-on resmi Microsoft PowerToys
    Ini juga sudah masuk ke alat tangkapan layar bawaan, tetapi menurut saya satu pintasan keyboard dari PowerToys lebih enak dipakai
    https://github.com/microsoft/PowerToys

    • OCR Snipping Tool bawaan bekerja untuk beberapa bahasa seperti Inggris, Rusia, Mandarin, Jepang, dan lainnya tanpa perlu memasang paket OCR bahasa terpisah
    • Alat tangkapan layar bawaan juga menyediakan fitur ini
      Tekan WIN+SHIFT+S, dan jika tidak ada ikon “Text actions”, perbarui ke versi terbaru lewat Windows Store
  • Saya sudah lama penasaran, tetapi tidak tahu apakah Tesseract benar-benar solusi paling mutakhir dan terbaik di bidang ini
    Secara pengalaman terasa cukup kurang, dan sekitar 2019 saya merasa pengenalan teks semestinya sudah menjadi masalah yang pada dasarnya terselesaikan jika melihat kemajuan computer vision
    Rasanya harus bisa lebih baik daripada manusia, tetapi bahkan pindaian struk beresolusi rendah pun tidak bisa dikonversi dengan akurat, terutama jika bukan bahasa Inggris
    Mungkin saya saja yang tidak menggunakannya dengan benar

    • Saya memakai Tesseract secara semi-reguler, dan masalah pengenalan jarang terjadi bahkan pada pindaian struk atau foto
      Saya penasaran tepatnya Anda menggunakannya dengan cara seperti apa
  • Saya melihat Tesseract makin sering disebut
    Saat mencobanya pada makalah ilmiah yang dipindai 10–15 tahun lalu, hasilnya mengecewakan, dan pascaproses manualnya tidak jauh lebih sedikit daripada mengetik sendiri
    Jadi bagi saya Tesseract menjadi sinonim dari “tidak layak dicoba”, tetapi mungkin sudah membaik seiring waktu, jadi sepertinya layak dicoba lagi

    • Sekarang hasilnya cukup baik jika hanya meng-OCR dokumen pindai atau jika Anda bisa banyak mengendalikan proses persiapan gambar
      Untuk pengenalan umum yang mencakup font aneh atau kualitas gambar buruk, EasyOCR memberi hasil yang jauh lebih baik
    • Proyek ini menyertakan Tesseract 4.1.1 yang setidaknya sudah berumur beberapa tahun
    • Coba gunakan https://github.com/ocrmypdf/OCRmyPDF
      Di dalamnya memakai Tesseract, dan hasilnya benar-benar bagus
    • Sekarang sudah jauh lebih baik
      15 tahun lalu perlu cukup banyak praproses agar mendapat hasil yang setidaknya tidak terlalu buruk, tetapi sekarang saya mendapat hasil bagus bahkan tanpa praproses
    • Saat pertama kali mencobanya 3–4 tahun lalu, hasilnya lumayan
  • Saya sudah mencobanya langsung dan bekerja cukup baik
    Karena ini aplikasi Flatpak, ia membutuhkan desktop portal agar berfungsi sepenuhnya, tetapi pada konfigurasi xdg-desktop-portal-wlr yang sudah ada, semuanya berjalan lancar tanpa pengaturan tambahan
    Sepertinya akan berjalan tanpa masalah di lingkungan X11 atau Wayland yang memiliki pengaturan xdg-desktop-portal dengan dukungan Screenshot API
    Hasilnya memang tidak konsisten, tetapi tidak buruk; untuk teks yang terbaca bersih, masalahnya hanya seputar spasi atau sesekali kesalahan, jadi bisa berguna saat menyalin teks dari tempat seperti dialog error
    Namun di Linux, teks pada dialog error sering kali sejak awal memang bisa dipilih, dan MessageBox standar di Windows merespons Ctrl+C

  • Saya memakai Frog sebagai aplikasi serupa, dan sejauh ini sangat berhasil
    https://getfrog.app

    • Tidak ada AppImage, tidak ada .deb, dan tidak ada brew
  • Di macOS ada utilitas yang melakukan lebih dari sekadar membuka dokumen di Preview lalu mencoba memilih teks
    https://github.com/schappim/macOCR
    Saya suka pembuatnya

    • Sebagai catatan, tanpa lewat Preview, Anda bisa mengambil screenshot dengan Cmd-Shift-3, lalu mengeklik thumbnail untuk berinteraksi dengan teks di Quick Look
      Setelah itu gambar bisa dihapus lewat ikon tempat sampah di kanan atas, dan Cmd-A juga berfungsi
      Contoh yang saya coba untuk komentar ini ada di sini: https://imgur.com/a/q0NvcS6
  • Di iOS, saya membuat solusi serupa dengan Shortcut yang dihubungkan ke Action Button
    Di sebagian aplikasi, menyalin teks tidak mudah atau teksnya berbahasa asing; jadi Shortcut ini mengambil screenshot, mengekstrak teks, lalu otomatis mendeteksi bahasa aslinya dan menerjemahkannya ke bahasa Inggris, kemudian menampilkan teks asli dan terjemahan di Quick View agar bisa dipilih dan disalin
    Contoh implementasinya bisa dicoba di sini: https://www.icloud.com/shortcuts/f420d24e4960415da1a43f230abfce39
    Sebagai catatan, di iOS terbaru Anda juga bisa membuka foto di aplikasi Photos, lalu memilih dan menyalin teks di dalam foto dengan jari

    • Shortcut yang bagus
      Saya mencobanya dengan menekan tombol share pada gambar lalu memakai share sheet, dan berfungsi; tetapi jika situasinya memang sudah mengirimkan gambar, langkah screenshot menjadi redundan
  • Meski disebut “untuk Linux Desktop”, ini adalah Flatpak, dan tidak semua distro Linux menyediakan Flatpak secara bawaan
    Saya berencana mencobanya sekali di VM Fedora; saya sudah melihat banyak alat seperti ini, dan kebanyakan memanfaatkan Tesseract
    Pada gambar yang kasar atau banyak noise, atau saat hurufnya melengkung atau miring, hasilnya gagal cukup parah, dan tidak bisa memecahkan CAPTCHA
    https://tesseract-ocr.github.io/tessdoc/Home.html

    • Distro mana yang tidak bisa menjalankan Flatpak?
    • Ini sebenarnya hanya sekumpulan kode Vala
      Lebih tepatnya, artinya pembuatnya tidak membuat paket untuk distro Anda, dan belum ada orang lain yang meluangkan waktu serta motivasi untuk memaketkannya
      Maintainer yang sedang dicari itu bisa saja Anda
    • Itu sebenarnya bukan kekurangan
      Kalau yang tersedia hanya .deb, orang bisa bilang ini tidak bisa dipakai di luar Ubuntu/Debian, dan itu kekurangan yang jauh lebih besar