분류 전체보기
-
CameraX api 5-2편 : OCR + 여권(MRZ + NFC)회사 생활/여권 NFC (CameraX + OCR + NFC) 2023. 11. 25. 15:30
4편에서 OCR과 5편에서 MRZ부분을 다뤘기 때문에 NFC부분만 다루겠다. 우선 먼저 안드로이드에서 여권 NFC를 하기위해 필요한 라이브러리 부터 불러온다. build.gradle(app) implementation 'org.jmrtd:jmrtd:0.7.18' implementation 'net.sf.scuba:scuba-sc-android:0.0.18' implementation 'com.madgag.spongycastle:prov:1.58.0.0' implementation 'edu.ucar:jj2000:5.2' implementation 'com.github.mhshams:jnbis:1.1.0' 그리고 NFC를 하기위해 필요한 여권번호, 생년월인, 여권만료일자를 가져온다. val intent: I..
-
CameraX api 5-1편 : OCR + 여권(MRZ + NFC)회사 생활/여권 NFC (CameraX + OCR + NFC) 2023. 11. 24. 20:11
CameraX 1편부터 4편까지 학습한 이유는 바로 회사에서 했었던 여권 MRZ 정보와 NFC로 정보 읽어오는 업무가 주어졌기 때문이다. 이번 프로젝트는 여러 오픈소스들과 CameraX API 학습한 내용을 조합해서 새로 만들어봤다. 우선 흐름을 간단히 살펴 보자면 : 1) CameraX API 카메라의 Analysis를 통해 실시간 Image 데이터를 가져온다. 2) Android MLKit을 활용해서 Image 데이터 내에 있는 Text를 OCR을 통해 가져온다. 3) 여권 MRZ라인을 통해 가져온 Text를 사용 가능한 정보로 변환한다. 4) 3번에서 얻어온 정보를 이용해서 여권 NFC를 통해 이미지와 여러 데이터를 가져온다. 앞에 Camera 1편 ~ 4편 내용은 1번 2번을 한 것이고 5편은 3..
-
CameraX api 번외편 : guideline에 따라 이미지 자르기회사 생활/여권 NFC (CameraX + OCR + NFC) 2023. 11. 20. 18:37
더보기 카메라를 사용하면서 camera preview 안에 사각형 모양의 가이드 라인이 있고 가이드 만큼만 잘라서 사용해야 하는 상황을 만났다. 구체적으로 얘기하자면 아래 여권사진에서 mrz라고 하는 부분만 잘라서 해당 문자열을 이용해서 데이터를 추출하고 활용해야 하는 상황을 만났다. 그래서 이미지 자르는 방법을 공부해 봤다. 프로젝트 스크린샷 더보기 하지만 이게 만만치 않다. 그냥 생각 없이 Preview를 전체화면으로 놓으니 Preview화면과 실제 이미지가 저장되는 사진의 영역이 다르다. 그래서 화면을 16:9나 4:3처럼 카메라가 지원하는 비율로 맞춰야 사진이 Preview 영역과 똑같이 나온다. 해결 방법 : 그래서 강제로 16:9를 맞춰줬다. CameraX의 Preview 화면을 xml로 추가..
-
CameraX api 4-2편 : Analysis + OCR + TextGraphic회사 생활/여권 NFC (CameraX + OCR + NFC) 2023. 11. 18. 14:42
4편에서는 CameraX api와 구글 MLKIT을 이용해서 Preview의 실시간 화면과 캡쳐된 화면에서의 Text 화면에서 Text를 불러왔다. 이거는 CameraX api 활용하는 것과는 별로 상관 없지만 화면에 그림이 그려지는 것에 관심이 생겨서 읽어온 화면에서 Text가 그려지는 코드를 만들어 보려고 한다. 4편에서 추가된 코드 : GraphicOverlay.kt 더보기 import android.content.Context import android.content.res.Configuration import android.graphics.Canvas import android.graphics.Color import android.graphics.Paint import android.graphi..
-
CameraX api 4편 : Anlysis와 text 분석 라이브러리(OCR)회사 생활/여권 NFC (CameraX + OCR + NFC) 2023. 11. 14. 11:01
안드로이드에서 카메라 api와 함께 제공되는 재미있는 것들이 많았다. 예를 들면 OCR 기능이 그중 하나였다. OCR이란? 더보기 광학 문자 인식(OCR)은 텍스트 이미지를 기계가 읽을 수 있는 텍스트 포맷으로 변환하는 과정입니다. 예를 들어 양식 또는 영수증을 스캔하는 경우 컴퓨터는 스캔본을 이미지 파일로 저장합니다. 이미지 파일에서는 텍스트 편집기를 사용하여 단어를 편집, 검색하거나 단어 수를 계산할 수 없습니다. 그러나 OCR을 사용하면 이미지를 텍스트 문서로 변환하여 내용을 텍스트 데이터로 저장할 수 있습니다. 이미지안에 있는 텍스트를 안드로이드의 String 형식으로 가져오게 만든느 것이라고 이해하면 쉬울듯 싶다. 안드로이드 CameraX에서 이미지를 사용할 수 있는 부분은 2부분이 있다. a)..
-
11. Container With Most Water코틀린 공부/코틀린 완벽 가이드 2023. 11. 14. 10:50
You are given an integer array height of length n. There are n vertical lines drawn such that the two endpoints of the ith line are (i, 0) and (i, height[i]). Find two lines that together with the x-axis form a container, such that the container contains the most water. Return the maximum amount of water a container can store. Notice that you may not slant the container. Example 1: Input: height..
-
CameraX api 3편 : takePicture 메소드회사 생활/여권 NFC (CameraX + OCR + NFC) 2023. 11. 13. 14:30
1편에서는 CameraX api의 전반적인 설명과 2편에서는 codelab에서 학습할 수 있는 기본 코드를 살짝 학습해봤다. 이번 CameraX 3편에서는 takePhoto만 imageCapture 객체의 takePicture메소드만 다시 다뤄 보려고 한다. 2편 코드에서는 takePhoto메소드를 이용해 사진을 찍으면 자동적으로 저장이 되었다. 하지만 이미지를 찍으면 저장이 되는걸 원하지 않을 경우도 있을 것이다. 그렇다면 어떻게 해야 이미지를 바로 저장안하고 이미지 파일만 가져올 수 있을까? >>> 방법은 다른 takePicture메소드를 사용하는 것이다. takePicture 메소드를 눌러서 타고 들어가면 2개의 메소드가 나온다. 3개의 parameters를 갖는 takePicture 2개의 par..
-
167. Two Sum II - Input Array Is Sorted코틀린 공부/코틀린 완벽 가이드 2023. 11. 13. 10:47
문제 : Given a 1-indexed array of integers numbers that is already sorted in non-decreasing order, find two numbers such that they add up to a specific target number. Let these two numbers be numbers[index1] and numbers[index2] where 1
-
CameraX api 2 : CameraX 기본 코드 분석회사 생활/여권 NFC (CameraX + OCR + NFC) 2023. 11. 10. 18:19
모든 코드 보기 : 더보기 CameraX api를 최신 버전 (1.4.0-alpha02) 으로 추가했다. 설명은 코드내에 간단히 적혀있다. 공식 문서에 들어가면 버전별로 여러가지 업데이트 사항이 적혀있다. (버전 확인 : 링크) val cameraxVersion = "1.4.0-alpha02" MainActivity에서 간단히 필요한 부분만 살펴보자 !!! 1. startCamera 메소드에서 카메라 활용에 필요한 세팅을 하고 있다. a) 먼저 ProcessCameraProvider 는 카메라의 생명 주기를 생명 주기 소유자(Activity)와 바인딩하는 데 사용한다. CameraX가 생명 주기를 인식하므로 카메라를 열고 닫는 작업이 필요하지 않게 된다. b) startCamera 메소드에서 Previe..
-
CameraX api 1 : 기초회사 생활/여권 NFC (CameraX + OCR + NFC) 2023. 11. 5. 15:37
안드로이드 학습 시리즈 : 더보기 CameraX api 1 : 기초 CameraX api 2 : CameraX 기본 코드 분석 CameraX api 3편 : takePicture 메소드 CameraX api 4편 : Anlysis와 text 분석 라이브러리(OCR) CameraX api 4-2편 : Analysis + OCR + TextGraphic CameraX api 5-1편 : OCR + 여권(MRZ + NFC) CameraX api 5-2편 : OCR + 여권(MRZ + NFC) CameraX api 번외편 : guideline에 따라 이미지 자르기 차례: 1. 안드로이드 앱에서 카메라 사용 방법 2. CameraX api를 선택해서 학습하는 이유 3. CameraX 기본 내용 1. 안드로이드 앱..