eljeka
adalah skrip untuk otomasi OMRChecker dengan model LJK seperti dalam map samples/community/eljeka.
Jika menggunakan bentuk LJK berbeda, silakan rujuk OMRChecker dan wikinya.
Berikut dicontohkan pemasangan eljeka
dalam sistem Debian.
git clone https://github.com/rizaumami/eljeka
cd eljeka
Anda bisa memasang paket python yang ada dalam lumbung paket distro menggunakan perintah seperti sudo apt install python3-XXX
. Namun ketika skrip eljeka
ditulis, saya tidak menemukan paket python3-dotmap
di lumbung paket, pip
, dan pipx
. Jadi, cara berikut di bawah lebih disarankan.
./eljeka -d
./eljeka -p
$ ./eljeka -h
eljeka adalah skrip alat bantu OMRChecker untuk melakukan
Optical Markup Recognition (OMR) pada kertas Lembar Jawaban Komputer (LJK).
Penggunaan: eljeka PILIHAN
PILIHAN:
-d Pasang paket yang dibutuhkan.
-h Tampilkan pesan ini.
-i INPUT_DIR Letak gambar LJK yang akan di-OMR.
-o OUTPUT_DIR Letak hasil OMR akan disimpan.
-p Pasang pustaka python yang dibutuhkan ke /home/iza/.pip.
-r Langsung OMR tanpa mengolah gambar terlebih dahulu.
-v Tampilkan versi skrip.
Setiap direktori input harus memiliki template.json.
Jika dijalankan tanpa argumen -i atau -o maka skrip akan menggunakan:
-i di /tmp/eljeka/inputs
-o di /tmp/eljeka/outputs
Apa yang skrip ini lakukan adalah sebagai berikut:
1. Mengubah gambar LJK menjadi hitam putih.
2. Menebalkan bagian hitam agar lebih mudah di-OMR.
3. Melakukan OMR.
Contoh:
- Melakukan OMR pada berkas hasil pemindaian yang terletak dalam ~/IPA:
$ eljeka -i /home/iza/IPA
- Menyimpan hasil OMR ke dalam map /home/iza/NILAI_IPA:
$ eljeka -o /home/iza/NILAI_IPA
- Melakukan OMR pada berkas hasil pemindaian yang terletak dalam ~/IPA
dan menyimpan hasilnya ke dalam map /home/iza/NILAI_IPA:
$ eljeka -i /home/iza/IPA -o /home/iza/NILAI_IPA
- Jika ada berkas yang tidak sempurna di-OMR misal karena jawaban terdeteksi
ganda, gunakan argumen -r untuk langsung melakukan OMR tanpa mengolah
gambar terlebih dahulu.
Mungkin diperlukan untuk menyunting gambar input secara manual.
$ eljeka -i /home/iza/IPA -r
eljeka hanyalah skrip pembantu (helper/wrapper script) untuk otomasi
OMR model LJK seperti tampak dalam map samples/community/eljeka.
Jika mempunyai bentuk LJK berbeda, silakan rujuk
https://github.com/Udayraj123/OMRChecker untuk langsung menggunakan
OMRChecker dan atau membuat template.json sendiri.
Catatan ini hanya untuk contoh LJK dalam samples/community/eljeka.
- Karena OMRChecker belum mendukung auto alignment untuk marker yang digunakan, maka LJK harus dipindai menggunakan pemindai (scanner) khusus dan tidak bisa menggunakan cara lain seperti kamera telepon genggam.
- LJK dipindai ke dalam berkas JPEG berukuran 1654 x 2338 px dengan resolusi 200 dpi.
- Template harus ada di direktori teratas (root directory) input. Jika input terdiri dari banyak sub folder namun memiliki bentuk LJK yang sama, maka template bisa hanya satu di root directory. Namun jika sub folder-sub folder tersebut berbeda bentuk, maka _template harus ada dalam tiap sub folder tersebut.
- Python
ENV
yang digunakan bisa disesuaikan dengan menyunting berkaseljeka
baris ke-63 (variabelOMRCHECKER
).