Latar Belakang
Kita semua pernah mengalami situasi di mana kita perlu memindai dokumen, tetapi hanya memiliki ponsel. Kita mengambil foto, tetapi hasilnya tidak sempurna karena ada distorsi perspektif dan bayangan.
Masalah: Perspektif dan Pencahayaan
Foto dokumen yang diambil menggunakan ponsel seringkali memiliki dua masalah utama:
- Distorsi perspektif: ketika foto tidak diambil secara langsung dari atas
- Pencahayaan tidak merata: bayangan dari tangan atau pencahayaan lingkungan yang membuat teks sulit dibaca
Solusi: Pipeline Python + OpenCV
Untuk mengatasi masalah ini, saya membangun mesin pengolah backend menggunakan FastAPI dan OpenCV. Berikut adalah gambaran umum dari pipeline:
- Mencari Dokumen: menggunakan deteksi tepi Canny dan aproksimasi kontur untuk mengidentifikasi empat sudut dokumen
- Transformasi Perspektif: mengaplikasikan transformasi perspektif untuk mengubah dokumen menjadi persegi panjang yang sempurna
- Penghapusan Bayangan dan Peningkatan: menggunakan ambang batas adaptif untuk menghilangkan bayangan dan membuat teks tetap tajam
Hasil (Sebelum & Sesudah)
https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwr4n7wm791wsz618kj4.jpg https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Febuwj2stfv1j0gz2b5eh.jpg
Coba Sekarang!
Saya telah meluncurkan versi awal dan saya mencari umpan balik tentang kinerja algoritma, terutama untuk kasus tepi seperti kertas putih pada meja yang terang. Cek alat langsung di sini: https://www.docuscan.pro/



