카메라 OCR: 가리키고, 촬영하고, 번역하기

Last updated: 2026-09-03

카메라 OCR은 로컬에서 포크된 vision_text_recognition 패키지를 사용하여 OCR을 실행합니다. 라틴 문자, 중국어(간체 및 번체), 일본어, 한국어 스크립트를 지원합니다. 인식을 위해 업로드되는 데이터는 없습니다. OCR 엔진이 반환한 각 블록에는 자체 경계 상자와 감지된 텍스트가 포함되며, 결과 페이지는 번역을 동일한 좌표에 다시 그려 원본 레이아웃을 유지합니다.

캡처 파이프라인

  1. 카메라 초기화. 카메라 컨트롤러는 명시적인 initializing / ready / failed 상태로 비동기 초기화됩니다. 실패 시 initializing 가드에 다시 들어가지 않고 초기화를 재실행하는 재시도 버튼이 표시됩니다.
  2. 실제 방향. 앱이 세로로 잠겨 있으면 iOS의 DeviceOrientation 및 EXIF는 신뢰할 수 없습니다. 앱은 sensors_plus를 통해 원시 가속도계를 읽고 가장 최근 프레임을 캐시하므로 UI가 잠겨 있어도 셔터가 실제 그립 방향으로 캡처합니다. 그런 다음 EXIF 방향이 이 실제 값과 조정됩니다.
  3. 셔터. 탭하면 현재 미리보기 종횡비로 캡처합니다. 캡처된 프레임은 OCR 전에 구성 가능한 최대 가장자리로 다운스케일됩니다. 대부분의 페이지는 메모리를膨胀시키지 않고 미세한 텍스트를 읽기 위해 긴 가장자리 1500~2000 픽셀이 필요합니다.
  4. 플래시. 뷰파인더에 4가지 모드(자동, 끄기, 켜기, 토치)가 노출되며 토글은 시스템 플래시 API에 바인딩됩니다.

OCR 반환 내용

온디바이스를 선택하는 이유

정확한 OCR을 위한 모범 사례

  1. 균일하고 간접적인 빛. 창광은 천장 스포트라이트보다 성능이 우수합니다. 페이지를 가로지르는 그림자는 문자 오독의 가장 일반적인 원인입니다.
  2. 탭하여 초점 맞추기. 자동 초점이 잘못된 대상(책상, 손가락, 페이지 가장자리)을 선택하면 캡처 전에 텍스트의 중앙을 탭하세요.
  3. 평평한 페이지. 책 등서서쪽으로 휘어진 페이지는 제본 근처에서 문자가 손실됩니다. 가능한 경우 다른 손으로 페이지를 평평하게 누르세요.
  4. 캡처당 하나의 언어. 혼합 스크립트 페이지는 한 번에 처리되지만, 라틴 문자와 세로 일본어가 혼합된 페이지는 두 번의 캡처로 나누는 것이 가장 좋습니다.