[flutter] get_it을 사용한 OCR(광학 문자 인식)
이번 글에서는 OCR(광학 문자 인식)을 구현하기 위해 Flutter 앱에서 get_it
을 사용하는 방법에 대해 알아보겠습니다.
1. get_it이란?
get_it
은 의존성 관리 패키지로, Flutter 애플리케이션에서 객체를 쉽게 관리하고 검색할 수 있게 해줍니다. 이를 통해 의존성 주입(Dependency Injection)을 구현할 수 있고, 객체 간의 느슨한 결합을 유지할 수 있습니다.
2. OCR 기능 구현
OCR(광학 문자 인식)을 구현하기 위해 google_ml_kit
패키지를 사용할 것입니다. 그리고 이를 통해 이미지에서 텍스트를 추출합니다.
// main.dart
import 'package:flutter/material.dart';
import 'package:google_ml_kit/google_ml_kit.dart';
import 'package:get_it/get_it.dart';
void main() {
GetIt.I.registerLazySingleton(() => TextDetector.instance);
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'OCR App',
home: MyHomePage(),
);
}
}
3. OCR 서비스 사용
이제 OCR 서비스를 사용하여 이미지에서 텍스트를 추출하는 코드를 작성해보겠습니다.
// ocr_service.dart
import 'package:google_ml_kit/google_ml_kit.dart';
import 'package:get_it/get_it.dart';
class OCRService {
final TextDetector _textDetector = GetIt.instance<TextDetector>();
Future<String> extractTextFromImage(InputImage inputImage) async {
final RecognisedText recognisedText = await _textDetector.processImage(inputImage);
return recognisedText.text;
}
}
4. get_it을 이용한 의존성 주입
get_it
을 사용하여 OCRService
객체를 주입하고, 이를 활용하여 OCR 기능을 활성화합니다.
// main.dart
import 'ocr_service.dart';
void main() {
GetIt.I.registerLazySingleton(() => OCRService());
runApp(MyApp());
}
5. 결론
이제 Flutter 앱에서 get_it
을 사용하여 OCR(광학 문자 인식) 기능을 구현할 수 있습니다. get_it
을 통해 의존성을 쉽게 관리하고 객체 간의 느슨한 결합을 유지할 수 있습니다.
google_ml_kit
패키지의 강력한 기능과 get_it
을 통해 관리되는 OCR 서비스 객체를 활용하여 더 나은 사용자 경험을 제공할 수 있을 것입니다.
6. 참고 자료
- get_it 패키지: pub.dev/packages/get_it
- google_ml_kit 패키지: pub.dev/packages/google_ml_kit
- Flutter: flutter.dev
- Dart: dart.dev