본문 바로가기

프로그래밍/Kotlin51

[Kotlin] Tesseract를 이용한 OCR 기능 추가 한글을 인식하는 OCR 라이브러리중에서는 네이버클로버 API가 가장 인식률이좋고, 영수증 전용템플릿이 있다고 한다. 물론 가격은 다른 OCR 라이브러리에 비해서는 비싼편인듯 기본 OCR이 월 무료 100건, 영수증 OCR은 무조건 유료 OCR 라이브러리별 비교 (네이버 클로버, 테서랙트, EasyOCR, 카카오 PORORO) https://velog.io/@sionshin/OCR-%EC%B0%BE%EC%95%84-%EC%82%BC%EB%A7%8C%EB%A6%AC 해당 포스팅에 사용된 스틱코드 stickode.com/detail.html?no=2177 스틱코드 stickode.com # 환경 세팅 1. 라이브러리 추가 tess-two 추가 ▶ 해당 기능을 사용하기 위해서는 tess-two라는 모듈이 필요합.. 2024. 2. 21.
[Kotlin] Async vs Launch (Deffered vs Job) 선요약 : Deffered는 return값이 있어서 변수에 바로 값을 넣을수있다. Job은 return값이 없어서 변수에 값을 넣으려면 Job 안에서 변수에 값을 넣어야한다. Deffered = async의 반환값, 즉 async를 사용할때 Job = launch의 반환값, 즉 launch를 사용할때 Async와 Launch는 반환값 이외의 차이점은 없다. Coroutines VS Async async/await kotlinx.coroutines.CoroutineScope.async - async : 코드 블락을 정의 - await : 코드 블락의 종료를 대기 - async(/* Thread type 지정 */) : launch와 동일하며, 지정하지 않으면 상위 scope thread type을 따른다... 2023. 1. 12.
[Kotlin] 숫자 랜덤으로 출력 코틀린에서 랜덤을 쓰기 위해서는 java.util을 import 해야한다. 안드로이드 스튜디오에서는 Alt + Enter로 import하면 java.util.* 전체가 임포트 된다. import java.util.Random val random = Random() val num = random.nextInt(5) /* val num 변수에 0~4 사이의 무작위 Int 저장 */ 0부터 카운트하기 때문에 입력한 정수 -1 값이 최대치라는 점에 주의해야 한다. function 만들어서 사용하기 두 수를 입력하면 그 사이의 Int를 출력하는 function을 만들어 사용할 수도 있다. import java.util.random val random = Random() fun rand(from: Int, to: .. 2022. 12. 29.
[Kotlin] ProgressBar 코드로 구현 1번 import android.app.Dialog import android.content.Context import android.graphics.Color import android.graphics.drawable.ColorDrawable class LoadingDialog constructor(context: Context) : Dialog(context){ init { setCanceledOnTouchOutside(false) window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) setContentView(R.layout.dialog_loading) } } 혹은 아래코드를 사용한다. 필자는 아래코드만 써봤지만 위 코드가 더 간결한듯?.. 2022. 12. 15.