Implementasi Optical Character Recognition menggunakan Golang API dan Tesseract
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
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
- 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'
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