Go OCR
Implementasi Optical Character Recognition menggunakan Golang API dan Tesseract
Pendahulan
Aplikasi ini adalah backend API yang melayani upload file gambar KTP yang akan diproses menjadi data text. Saya menggunakan library
https://github.com/otiai10/gosseract
untuk me-convert image menjadi text sebagai perantara antara aplikasi backend go dengan tesseract. Tesseract adalah open source yang dibangun oleh google berbasis bahasa C++
https://opensource.google/projects/tesseract
Untuk API nya sendiri menggunakan beberapa third party yakni echo dan graceful
Cara Instalasi
Ada 2 metode yakni secara langsung atau secara docker. Pertama-tama, anda clone dulu repository ini
-
Instalasi langsung
- Pastikan di server / komputer anda sudah ada internet. Karena akan dilakukan docnload library2 dari internet
- Karena saya pakai mac, maka bisa ikuti step-step berikut :
https://tesseract-ocr.github.io/tessdoc/Compiling.html#macos
- Setelah semua terinstall, anda bisa arahkan ke folder utama go-ocr dan menjalankan aplikasi dengan mengetik sebagai berikut :
go run main.go
-
Instalasi melalui docker
- Harus ada internet karena dalam melakukan extract aplikasi ke docker akan menginstall library dary internet.
- Pada folder utama go-ocr , ketik command berikut (pembentukan docker image):
docker build -t go-ocr .
- Menjalankan container docker :
docker run -p 8080:8080 go-ocr
Implementasi
- Anda dapat menggunakan postman, lalu masukkan link url ini :
method POST http://localhost:8080/go_ocr/v1/ktp/request
- Berikut ini jika dijalankan menggunakan curl
curl --location --request POST 'http://localhost:8080/go_ocr/v1/ktp/request' \
--form 'file=@{PATH_FILE}/ktpcontoh2.jpg'
Undangan untuk berkolaborasi
Karena project ini bersifat open source, maka saya membebaskan anda untuk menggunakanya dan jika anda menemukan ide-ide menarik atau menemukan issue jangan ragu-ragu untuk melakukan pull request. Karena code yang saya kerjakan jauh dari sempurna dan butuh pemikiran teman-teman untuk mengembangkannya menjadi lebih baik.
Buy me a coffee : No Account 082111833436