OCR во флаттере

Используйте пакет Flutter Mobile Vision для распознавания текста в приложениях Flutter

Flutter — это система пользовательского интерфейса с открытым исходным кодом для создания высокоуровневых локальных интерфейсов на Android и iOS. Первоначальное появление альфа-версии Flutter от Google произошло в мае 2017 года. Приложения Flutter могут быть написаны на языке программирования Dart . Google сообщил о бета-версии Flutter в феврале на Mobile World Congress 2018.

Dart придает изюминку многим различным языкам, таким как Kotlin и Swift, и, как правило, эффективно переносится в код JavaScript. Flutter имеет открытый исходный код и разрешено использовать. Он может работать с вашим текущим кодом. Flutter учитывает отзывчивый и окончательный стиль программирования, который он принимает после React Native. Нет веских причин использовать расширение во Flutter для улучшения общей производительности и времени запуска. Следовательно, используя Dart, он выполняет компиляцию с опережением времени (AOT).

В этой статье мы рассмотрим OCR во Flutter. Мы также реализуем демо OCR с использованием пакета flutter_mobile_vision в ваших приложениях флаттера.

Оглавление::

OCR

Реализация

Код Реализовать

Файл кода

Заключение

Распознавание:

OCR представляет собой оптическое распознавание символов . Это цикл преобразования составленных картинок, печатного текста в машинно-кодированный текст, что означает, что он даст нам текст из изображений, содержащих текст.

Давайте рассмотрим, как FineReader OCR распознает текст. Сначала программа анализирует структуру изображения документа. Разделяет страницу на составляющие, например, блоки текстов, таблицы, картинки и так далее. Строки разбиваются на слова, а затем — на символы. Когда персонажи выделены, программа сопоставляет их и множество картинок-примеров. Это вызывает различные предположения о том, что это за персонаж. Основываясь на этих теориях, программа исследует различные варианты разбиения строк на слова и слов на символы. После обработки огромного количества таких вероятностных теорий программа, наконец, делает выбор, предоставляя вам распознанный текст.

Демонстрационный модуль ::

В этом видео показано, как OCR будет работать и распознает текст с изображения, и нажмите на этот текст в прямоугольном поле, и тогда они будут показаны на вашем устройстве.

Реализация :

Шаг 1: Добавьте зависимости

Добавьте зависимости в pubspec — файл yaml.

зависимости:

flutter_mobile_vision: ^0.1.4+1

import 'package:flutter_mobile_vision/flutter_mobile_vision.dart';

Шаг 4: Для Андриода

Добавьте функции, разрешения и действия в файл main/Androidmanifest.xml.

<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<activity android:name="io.github.edufolly.fluttermobilevision.ocr.OcrCaptureActivity" />

Добавьте это в свой файл gradle.properties:

org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true

Вам нужно реализовать его в своем коде соответственно:

Создайте новый файл дротика с именем ocr_page.dartвнутри libпапки.

На этой странице мы создадим кнопку для сканирования и текст подсказки. Когда пользователь может отсканировать изображение и распознать текст, он нажимает на этот текст в прямоугольном поле, а затем заменяет текст и показывает его на ваших устройствах.

Мы создадим строку _text и int _ocrCamera

int _ocrCamera = FlutterMobileVision.CAMERA_BACK;
String _text = "TEXT";

Center(
  child: RaisedButton(
   onPressed: _read,
   child: Text('Scanning',
     style: TextStyle(fontSize: 16),
   ),
  ),
),

Давайте объявим _read()функцию

Future<Null> _read() async {
  List<OcrText> texts = [];
  try {
    texts = await FlutterMobileVision.read(
      camera: _ocrCamera,
      waitTap: true,
    );
setState(() {
      _text = texts[0].value;
    });
  } on Exception {
    texts.add( OcrText('Failed to recognize text'));
  }
}

Файл кода:

import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_mobile_vision/flutter_mobile_vision.dart';
class OCRPage extends StatefulWidget {
  @override
  _OCRPageState createState() => _OCRPageState();
}
class _OCRPageState extends State<OCRPage> {
int _ocrCamera = FlutterMobileVision.CAMERA_BACK;
  String _text = "TEXT";
@override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        backgroundColor: Colors.white70,
          appBar: AppBar(
            automaticallyImplyLeading: false,
            title: Text('OCR In Flutter'),
            centerTitle: true,
          ),
          body: Container(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: [
                Text(_text,style: TextStyle(
                    fontSize: 18,
                    fontWeight: FontWeight.bold),
                ),
                Center(
                  child: RaisedButton(
                   onPressed: _read,
                   child: Text('Scanning',
                     style: TextStyle(fontSize: 16),
                   ),
                  ),
                ),
              ],
            ),
          ),
      ),
    );
  }
Future<Null> _read() async {
    List<OcrText> texts = [];
    try {
      texts = await FlutterMobileVision.read(
        camera: _ocrCamera,
        waitTap: true,
      );
setState(() {
        _text = texts[0].value;
      });
    } on Exception {
      texts.add( OcrText('Failed to recognize text'));
    }
  }
}

В статье я объяснил базовую демонстрацию OCR; вы можете изменить этот код по своему выбору, и это было небольшое введение в OCR с моей стороны и его работу с использованием Flutter.

Я надеюсь, что этот блог предоставит вам достаточно информации о том, как использовать OCR во Flutter в ваших проектах на Flutter . Это демонстрационный пример OCR в флаттере и о том, как распознавать текст с изображений, а также они будут распознавать текст из разных элементов, таких как страница, таблица, структура и т. Д., Поэтому, пожалуйста, попробуйте.

❤ ❤ Спасибо, что прочитали эту статью ❤❤

Если я что-то не так? Дай мне знать в комментариях. Я хотел бы улучшить.

Хлопайте Если вам поможет эта статья.

найдите исходный код демо Flutter OCR:

Читайте мои другие блоги:

Ориентация экрана во Flutter Совместное использование файлов во Flutter Жидкая анимация смахивания Во Flutter Пользовательский диалог во Flutter Переупорядочиваемый ListView во Flutter

Не стесняйтесь связаться с нами:
и читайте другие статьи с FlutterDevs.com .

FlutterDevs команда разработчиков Flutter для создания высококачественных и многофункциональных приложений. Наймите разработчика Flutter для вашего проекта кросс-платформенного мобильного приложения Flutter на почасовой или полной занятости в соответствии с вашими требованиями! Вы можете связаться с нами через Facebook , GitHub , Twitter и LinkedIn по любым вопросам, связанным с флаттером.

Мы приветствуем обратную связь и надеемся, что вы поделитесь тем, над чем работаете, используя # FlutterDevs . Нам очень нравится видеть, как вы используете Flutter для создания красивых интерактивных веб-приложений.

Suggested posts

Основные навыки для младших разработчиков iOS: подробное руководство

Основные навыки для младших разработчиков iOS: подробное руководство

В этом подробном руководстве мы рассмотрим основные навыки, необходимые младшим разработчикам iOS. От языков программирования, таких как Swift и Objective-C, до совместной работы и общения, мы рассмотрим все, что нужно знать начинающему разработчику iOS, чтобы добиться успеха на современном конкурентном рынке.

Освоение мобильной разработки: как выбрать лучший язык программирования для вашего приложения

Освоение мобильной разработки: как выбрать лучший язык программирования для вашего приложения

Мобильная разработка стала жизненно важным компонентом успеха бизнеса в современном цифровом мире. Как разработчик мобильного приложения, важно выбрать правильный язык программирования для создания своего приложения.

Related posts

«Обнаруженная Марианская впадина: раскрытие ужасающих скрытых истин бездны»

«Обнаруженная Марианская впадина: раскрытие ужасающих скрытых истин бездны»

Введение: Добро пожаловать, смелые читатели, в путешествие, которое приведет нас в самые темные глубины нашей планеты. В этом блоге мы погружаемся в загадочный мир Марианской впадины, раскрывая его скрытые секреты и открывая леденящие кровь истины, которые лежат под его поверхностью.

Переосмысление медиа: пять истин Макчесни и будущее коммуникаций

В современном гиперсвязанном мире системы СМИ играют ключевую роль в формировании общественного мнения и, следовательно, в демократическом принятии решений. В своем глубоком анализе политической экономии коммуникации ученый Роберт МакЧесни бросает вызов общепринятому мнению и представляет то, что он называет «пятью истинами» о СМИ.

Медленная эрозия: раскрытие того, как люди угасают в своей карьере

Медленная эрозия: раскрытие того, как люди угасают в своей карьере

В современном быстро меняющемся и конкурентном мире карьера играет важную роль в личностном росте, финансовой стабильности и общей удовлетворенности жизнью. Однако многие люди оказываются в безжалостном цикле застоя и неудовлетворенности, постепенно угасая в своей профессиональной жизни.

Журнал

Журнал

Открытый дневник: картинка в день. Меня всегда завораживали истории.