본문 바로가기
Flutter

[Flutter][ML Vision] ML Vision으로 사진에서 글자 추출하기

by tls1107 2021. 12. 21.
728x90
반응형

플러터로 사진에서 글자를 추출하고 싶을 때는 

ML Vision 을 사용하면 된다.

https://developers.google.com/ml-kit/vision

 

ML Kit  |  Google Developers

ML Kit beta brings Google’s machine learning expertise to mobile developers in a powerful and easy-to-use package.

developers.google.com

ML Vision 에 대한 자세한 설명은

위의 홈페이지로 가면 볼 수 있다.


먼저 dependencies 에

package 두개를 추가한다.

dependencies:
  flutter:
    sdk: flutter
      google_ml_vision: ^0.0.7
      image_picker: ^0.8.4+4

https://pub.dev/packages/google_ml_vision

 

google_ml_vision | Flutter Package

Flutter plugin for Google ML Kit on-device vision apis. It includes barcode scanning, image labeling, text recognition and face detection.

pub.dev

https://pub.dev/packages/image_picker

 

image_picker | Flutter Package

Flutter plugin for selecting images from the Android and iOS image library, and taking new pictures with the camera.

pub.dev

 

google_ml_vision package 는 사진에서 글자를 

추출하기 할 때 사용할 ML Vision을 사용하기 위한 package이며

 

image_picker 는 글자 추출을 위한

사진을 찍거나 선택하기 위한 package 이다.


먼저 사진을 선택할 메소드를 작성한다.

PickedFile? _image;

Future getImageFromCam() async {
    var image =
        await ImagePicker.platform.pickImage(source: ImageSource.camera);
    _image = image;
    print(_image!.path);
  }

  Future getImageFromGallery() async {
    var image =
        await ImagePicker.platform.pickImage(source: ImageSource.gallery);
    _image = image;
    print(_image!.path);
  }

위의 코드를 통해 사진을 찍거나 불러온다. 

사진은 PickedFile? 타입으로 저장된다.

 

late GoogleVisionImage visionImage;
TextRecognizer textRecognizer = GoogleVision.instance.textRecognizer();
late VisionText visionText;

 

위와 같이 변수 세개를 선언한다.

visionImage = GoogleVisionImage.fromFile(_image!.path);

visionText = await textRecognizer.processImage(visionImage);
String text = visionText.text!;

위의 코드들을 실행시키면 text 변수에 ML Vision 이

추출한 텍스트를 저장할 수 있다

 

그 후부터는 여러분이 원하는대로 활용하세요!

728x90
반응형

댓글