[iOS] VisionKit (텍스트 값, 위치) 가져오기 2편
안녕하세요 물먹고하자 입니다 :)
지난번 [VisionKit 1탄 링크] 소개드렸던 부분의 2탄으로
이번에는 문서스캔한 이미지의 텍스트 값, 위치를 가져와서
표현해 보는 샘플을 진행해볼까 합니다.
애플공식문서 & 참고링크
공식 : https://developer.apple.com/documentation/visionkit
참고 : https://developer.apple.com/documentation/vision/vndetectedobjectobservation
작업본 Git : https://github.com/kimjiwook/VisionKitSample
참고영상
문서스캔 > 이미지분석 > 이미지위에 위치값 표기, 텍스트 뽑아오기 예제
이미지 좌표값 주의사항
진행하기 앞서 우리가 알고 있는 UIKit Frame 그리는 방식이랑 VisionKit에서 Frame(?) 위치값 그리는 방식을 잠시 설명드리겠습니다. (저도 이부분은 왜?? 다른지 솔직히 모르겠더라구요)
왼쪽은 UIKit 기반으로 Frame을 잡았을 때 예시 왼쪽위(0,0) 기준 오른쪽은 VisionKit 기반으로 Frame 표기시 왼쪽아래(0,0) 기준 #. 심지어 0~1 비율로 표기됨 |
좌표값 무시하고, UIKit 기반처럼 왼쪽위에서 부터 그리면 Y축이 뒤집어진 느낌으로 표기됨. |
(x, y, width, height) 기준 (133, 1884, 687, 118) 이렇게 변환되는걸 알 수 있는데요.
width, height는 대략적으로 맞는것 같아 보이고, x 값도 대략 맞을걸로 예상되는데, Y값이 조금 이상합니다.
예상으로는 X 값과 비슷한 1xx~2xx 대가 나와야 왼쪽 위에 맞을것 같은데, 쌩뚱맞은 숫자로 보입니다.
앞서 설명했듯이 VisionKit 기준으로 좌표값을 가져왔을때,
Y = 이미지높이값 - (좌표Y값) 으로 변경해서 사용해야할 것 같습니다.
샘플소스
전반적인 소스는 Git : https://github.com/kimjiwook/VisionKitSample 에서 확인 가능하시고,
일부 중요 부분만 집고 가겠습니다.
1. VisionKit을 통한 Text Rect 값 저장 모델객체 추가.
2. 이미지의 Text들 모아놓는 부분 선언
3. VisionKit Text 가져오는 소스
4. SwiftUI 사용부분 예시
언어팩 테스트
한국어들은 위치를 잡아내지 못하고 영어만 인식해서 그려준다. |
사용할 일은.. 솔직히 없을것 같긴한데, 언어의 인식을 제대로 못한건지 한글+특수문자 처럼 깨져서 나오는 현상이 나왔다. 참고로만 알고있자 |
마무리
실제 프로젝트에서 이미 사용해서 배포된 상태인데, 언제 블로그로 정리하나.. 고민하다가 주말당직(ㅠㅠ)이여서 출근해서 글쓰고 있네요.
지금까지 iOS 10년 ~ 정도 일을 하면서 솔직히 이미지 관련쪽을 다룰일이 많이 없었는데, 요즘들어 하나씩 생기는 것 같아요. 처음에는 모르니깐 당황하긴 했지만, 생각보다 API 및 예시들이 잘 나와있어서 적용하는데는 큰 무리는 없었던 것 같습니다.
이거 말고도 요즘 이미지 위에 LiveText 뽑아오는것도 있는데, 최근 카카오톡에 추가된것 같더군요.
(저희회사는 카톡에 있는기능을 다 넣어라는 이상한.... 욕심이 있어요.. ㅠㅠ)
요즘 일이 너무 타이트해서 블로그쓸일이 많이 없었는데, 당직덕에 나름 시간이 생긴것 같아서 나쁘지많은 안네요.
오늘은 이만~
즐거운 코딩 되세요~
끝.
티스토리가 아니라 구독이 안되는게 너무 아쉽습니다 ㅜㅜ 정말 최고의 개발 블로그네여
답글삭제- iOS 개발 주니어 -
진짜 티스토리가 아닌게 너무 아쉽네요.
답글삭제iOS의 역사를 보는듯한 기분이라 너무 잘 보고 있습니다.