iPhone: iOS 텍스트 감지 기능을 사용하는 방법

iOS 11의 Vision은 텍스트 문자를 인식할 수 있는 앱을 만드는 데 필요한 모든 것을 갖추고 있으며 동시에 구현도 가능합니다. 기술적인 코딩 지식이 필요하지 않습니다. 기능 탐색은 매우 간단합니다. 또한 구현이 원활합니다.

비전 프레임워크

비전 프레임워크를 사용하면 컴퓨터 세부 정보와 관련된 모든 작업을 쉽게 구현할 수 있습니다. 이 구조는 얼굴 및 얼굴 랜드마크 감지, 바코드 인식, 이미지 등록, 일반 기능 추적 및 텍스트 감지를 수행합니다. Vision을 사용하면 분류 또는 개체 감지와 같은 작업에 사용자 지정 Core ML 모델을 사용할 수도 있습니다.

VN DetectTextRectanglesRequest

VN DetectTextRectanglesRequest는  이미지의 텍스트 표시 영역을 찾는 화상 분석 요청이고; 이 기능은 텍스트 문자를 원점과 크기가 있는 직사각형 경계 상자로 반환합니다.

swift 사용에 익숙하고 한동안 프로그래밍을 해오셨다면 image 및 AVFoundation과 같은 다른 기능이 있을 때 Vision의 용도가 무엇인지 궁금할 것입니다. Vision이 더 정확하고 직관적입니다. 이 기능은 다양한 플랫폼에서도 사용할 수 있습니다. 그러나 Vision을 사용하려면 더 많은 처리 능력과 처리 시간이 필요할 수 있습니다.

텍스트 감지에 Vision을 사용하려면 Xcode 9와 iOS 11을 실행하는 장치가 필요합니다.

Avcapture로 카메라 만들기

먼저 AVCapture 로 카메라를  만들어야 합니다 . 이것은 실시간 또는 오프라인 캡처를 수행하기 위해 하나의 객체 AVcapturesession을 초기화하는 것입니다. 그런 다음 세션을 장치 연결로 만듭니다.

앱의 UI를 구축하는 데 드는 시간을 절약하려면 시작 프로젝트를 갖는 것을 고려하십시오. 처음에는 Vision 프레임워크를 학습하는 데 집중할 시간이 주어집니다.

스타터 프로젝트를 엽니다. 스토리보드의 보기가 모두 준비되고 설정되어야 합니다.

온  ViewController.swift,  기능 및 콘센트 코드 섹션을 찾습니다.

outlet-에서 이미지 뷰, D, 대한 세션을 eclare  AVcapturesession  -이 사용하면 라이브 스트림을 기반으로 수행 작업을 할 때마다.

설정  AVcapturesession  과  AVmediatype  당신이 계속 실행 할 수 있도록 카메라 촬영을 수행하기 때문에 비디오를

출력 및 입력 장치 정의

입력은 카메라에 표시되는 것이고 출력은 KCVPixelFormatType_32GRA의 설정된 형식 형식의 비디오입니다.

마지막으로 imageView에   동영상이 포함 된 하위 레이어 를  추가  하고 세션을 시작합니다. 함수는 inViewdidload 로 알려져 있습니다  .  또한 레이어의 프레임을 설정해야 합니다.

viewWillAppear  메소드 에서 함수를 호출하십시오  .

경계가 아직 확정되지 않았으므로 viewDidLayoutSubviews( )  메서드를 재정의하여  바인딩된 레이어를 업데이트합니다.

iOS 10 출시 이후에는 Info.plist에 추가 항목이 필요하며, 이는 카메라를 사용하는 이유를 제공합니다. 프라이버시-카메라 사용 설명도 설정해야 합니다.

텍스트 감지; 비전 프레임워크 작동 방식

앱에서 Vision을 구현하는 세 단계가 있습니다.

핸들러 -  요청이 호출된 후 프레임워크가 무언가를 하기를 원할 때입니다.

관찰 –  이것은 하나의 요청으로 시작하여 귀하가 제공한 데이터로 수행하고자 하는 것입니다.

요청 -  Detect 프레임워크를 요청할 때입니다.

이상적으로는 VNdetecttextrectanglesrequest 로 하나의 텍스트 요청을  생성 합니다. 이것은  텍스트 를 둘러싸고 있는 일종의  VNrequest 입니다. 프레임워크가 애플리케이션을 완료한 후 Dettexthandler  함수 를 계속 호출합니다  . 또한 인식된 정확한 프레임을 알고 싶을 것이므로 Reportcharacterboxes =True로 설정하십시오  .

그런 다음 VNdetecttextrectanglesrequest의 모든 결과를 포함하는 관찰을 정의  하고 출력 카메라에 Vision을 추가하는 것을 잊지 마십시오 . Vision은 높은 수준의 API를 노출하므로 안전하게 작업할 수 있습니다.

함수는 Cmsamplebuffer  가 존재하고 PutOut Avcaptureoutput 이  있는지 확인합니다  . 그런 다음 1 사전 유형 VNimageoption 으로  하나의 변수 Requestoptions  생성을 진행해야 합니다  . VNmage의  옵션은 카메라 특성 및 데이터를 포함하는 구조의 형태이다. 그런 다음 VNimagerequesthandler  를 만들고  텍스트 요청을 실행해야 합니다.

감지된 텍스트 주위에 테두리 그리기

프레임워크에서 두 개의 상자를 그리는 것으로 시작할 수 있습니다. 하나는 감지하는 모든 문자에 대한 것이고 다른 하나는 모든 단어에 대한 것입니다. 테이블은 요청에 따라 찾을 수 있는 모든 문자 상자의 조합입니다.

  • 상자를 배치하는 데 도움이 되도록 뷰에서 점을 정의합니다.
  • 그런 다음 CALaye r을 만듭니다  . 사용  VNrectangleobservation을  쉽게 상자를 요약하는 과정을 만들고, 당신의 제약 조건을 정의 할 수 있습니다.

이제 모든 기능이 배치되었습니다.

점을 연결하려면 먼저 코드를 비동기식으로 실행하세요. 그런 다음 VNTextObservation 의 결과에 영역이 있는지 확인해야 합니다  .

이제 영역 내에 상자를 그리는 함수를 호출할 수 있습니다. 지역 내에 문자 상자가 있는지 확인한 다음 각 문자 주위에 상자를 가져오는 서비스에 전화하십시오.

그런 다음 변수 RequestOptions를 만듭니다  이제 VNImageRequestHandler  객체를 생성하고 생성한 텍스트 요청을 수행 할 수 있습니다  .

마지막으로, 마지막 단계는 라이브 스트림으로 비전 코드를 실행하는 것입니다. 비디오 출력을 가져와 Cmsamplebuffer 로 변환해야 합니다  .

추가 팁

항상 이미지를 자르고 필요한 부분만 처리하십시오. 이렇게 하면 처리 시간과 메모리 공간이 줄어듭니다.

숫자가 아닌 문자를 다룰 때는 언어 수정을 켜고 숫자를 다룰 때는 끄십시오.

인식된 숫자 문자열에 대한 유효성 검사를 포함하여 정확성을 확인하고 사용자에게 잘못된 값을 표시하지 않도록 합니다.

문서 카메라 컨트롤러는 이미지 품질이 텍스트 인식에서 중요한 역할을 하기 때문에 텍스트 인식을 위한 최고의 동반자입니다.

성능을 높이려면 최소 텍스트 높이를 설정하는 것이 좋습니다.

Vision을 사용하면 텍스트 인식에 필요한 모든 것이 있습니다. Vision은 사용하기 쉽고 구현 시간이 짧기 때문에 사용하는 것은 거의 레고를 가지고 노는 것과 같습니다. 다양한 개체, 글꼴, 조명 및 크기에서 앱을 테스트해 보세요. Vision과 Core ML을 결합하여 자신에게 깊은 인상을 줄 수도 있습니다.



Leave a Comment

아이패드: SIM 카드 삽입 및 제거 방법

아이패드: SIM 카드 삽입 및 제거 방법

이 튜토리얼을 통해 Apple 아이패드에서 SIM 카드를 액세스하는 방법을 배워보세요.

아이폰 지도 내비게이션 작동하지 않음 (멈춤 현상)

아이폰 지도 내비게이션 작동하지 않음 (멈춤 현상)

이 포스트에서는 애플 아이폰에서 지도 내비게이션 및 GPS 기능이 제대로 작동하지 않는 문제를 해결하는 방법을 다룹니다.

App Store 및 iTunes에서 계정이 비활성화되었습니다(고정).

App Store 및 iTunes에서 계정이 비활성화되었습니다(고정).

App Store 및 iTunes에서 계정이 비활성화되었을 때 어떻게 해야 할까요? 이 글에서는 5가지 효과적인 해결 방법과 예방 팁을 제공합니다.

iPhone 또는 iPad에서 카메라 앱이 없습니다.

iPhone 또는 iPad에서 카메라 앱이 없습니다.

iPhone 또는 iPad에서 카메라 앱이 사라졌나요? 누락된 카메라 아이콘을 복구하는 5가지 실용적인 해결 방법을 확인하세요. 스크린 타임 설정, 홈 화면 검색, 폴더 확인 등 다양한 방법을 소개합니다.

Mac 및 iPhone에서 비밀번호를 잊어버린 경우 메모를 잠금 해제하는 방법

Mac 및 iPhone에서 비밀번호를 잊어버린 경우 메모를 잠금 해제하는 방법

비밀번호를 잊어버렸을 때 Notes를 잠금 해제하고 싶으십니까? Mac과 iPhone에서 빠르고 효과적으로 이 작업을 수행하는 방법은 다음과 같습니다.

iTunes가 서버의 ID를 확인할 수 없음(수정됨)

iTunes가 서버의 ID를 확인할 수 없음(수정됨)

Mac에서 "iTunes가 서버의 ID를 확인할 수 없습니다" 오류가 발생합니까? 이 글은 문제 해결을 위한 유용한 팁을 제공하여 귀하의 iTunes 사용을 도와줄 것입니다.

iPhone 사진에서 배경을 흐리게 하는 방법

iPhone 사진에서 배경을 흐리게 하는 방법

iPhone에서 사진처럼 완벽한 인물 사진을 만들기 위해 배경을 흐리게 하는 방법이 궁금하신가요? 다양한 팁과 기법으로 훌륭한 인물 사진을 쉽게 촬영할 수 있습니다.

iOS 16에서 날씨 앱 배터리 소모를 해결하는 방법

iOS 16에서 날씨 앱 배터리 소모를 해결하는 방법

iOS 날씨 앱은 iOS 16 출시와 함께 대대적인 개편을 거쳤습니다. 배터리 소모 문제의 해결책을 제공합니다.

iPhone 및 iPad에서 Twitter 계정을 추가 및 삭제하는 방법

iPhone 및 iPad에서 Twitter 계정을 추가 및 삭제하는 방법

Apple iPhone 또는 iPad에서 Twitter 계정을 추가 및 삭제하는 방법을 보여주는 자습서입니다.

iPad를 프로젝터에 연결하는 방법

iPad를 프로젝터에 연결하는 방법

이 튜토리얼에서는 Apple iPad를 프로젝터에 연결하기 위한 다양한 최상의 옵션을 보여줍니다.