[Fluth]画像からテキストを抽出
OCR APIを使用してライブラリに必要な画像を取得し、テキストを識別および抽出する方法について説明します.
まず、次のプラグインが必要です.
pubspec.yamlファイルで
http/path provider/image/image pickerをインストールします.
(この過程で他のプラグインは必要ありません.これらのプラグインは無視してください)
importは、進行中のファイルで上記の操作を実行できます.
私は進行中のプロジェクトに追加しましたが、プライマリファイルでは実行されません.
新しいプロジェクトの場合は、原文を参照してください.
使用するAPIはbase 64イメージのみを処理するため、イメージを変換する必要があります.画像を選択しながらテキスト認識にします.
上のgetFromGallery関数に以下のコードを追加してください!
OCRAPIでapi鍵を取得する必要があります.無料のFree APIキーをクリックし、毎月25000回リクエストし、電子メールを作成すると、キーが取得されます.
鍵の発行が完了したら、https://api.ocr.space/parse/imageという場所に画像を送信する必要があります.url変数にアドレスを含めてmapタイプのペイロードを生成します.
韓国語のテキストを認識するために、「language」:「kor」のコードを追加しました.韓国語のほか、サポートされている言語コードを上記のサイトで確認することもできます!
最後はhttpです.postでデータを送信します.
上記の関数の内部に以下のコードを書いてください.
関数以外のstringタイプのparsedtextを宣言します.ここに抽出されたテキストが含まれます.
わぁ~出てきてよかった
まず、次のプラグインが必要です.
pubspec.yamlファイルで
http/path provider/image/image pickerをインストールします.
(この過程で他のプラグインは必要ありません.これらのプラグインは無視してください)
importは、進行中のファイルで上記の操作を実行できます.
私は進行中のプロジェクトに追加しましたが、プライマリファイルでは実行されません.
新しいプロジェクトの場合は、原文を参照してください.
1.ライブラリから画像をインポート
Future _getFromGallery() async {
final pickedFile = await ImagePicker().pickImage(source: ImageSource.gallery);
if (pickedFile == null) return;
2.画像base 64に変換
使用するAPIはbase 64イメージのみを処理するため、イメージを変換する必要があります.画像を選択しながらテキスト認識にします.
上のgetFromGallery関数に以下のコードを追加してください!
var bytes = File(pickedFile.path.toString()).readAsBytesSync();
String img64 = base64Encode(bytes);
3.APIに画像を送信
OCRAPIでapi鍵を取得する必要があります.無料のFree APIキーをクリックし、毎月25000回リクエストし、電子メールを作成すると、キーが取得されます.
鍵の発行が完了したら、https://api.ocr.space/parse/imageという場所に画像を送信する必要があります.url変数にアドレスを含めてmapタイプのペイロードを生成します.
韓国語のテキストを認識するために、「language」:「kor」のコードを追加しました.韓国語のほか、サポートされている言語コードを上記のサイトで確認することもできます!
最後はhttpです.postでデータを送信します.
上記の関数の内部に以下のコードを書いてください.
var url = 'https://api.ocr.space/parse/image';
var payload = {"base64Image": "data:image/jpg;base64,${img64.toString()}","language" :"kor"};
var header = {"apikey" :"발급받은 키 번호"};
var post = await http.post(Uri.parse(url),body: payload,headers: header);
var result = jsonDecode(post.body);
4.結果値の取得
関数以外のstringタイプのparsedtextを宣言します.ここに抽出されたテキストが含まれます.
String parsedtext = '';
同様に、関数内部で結果値を受信し、テキストを解析テキストに再解析します.var result = jsonDecode(post.body);
setState(() {
parsedtext = result['ParsedResults'][0]['ParsedText'];
});
5.確認結果
わぁ~出てきてよかった
6.完全なコード
String parsedtext = '';
Future _getFromGallery() async {
final pickedFile = await ImagePicker().pickImage(source: ImageSource.gallery);
if (pickedFile == null) return;
var bytes = File(pickedFile.path.toString()).readAsBytesSync();
String img64 = base64Encode(bytes);
var url = 'https://api.ocr.space/parse/image';
var payload = {"base64Image": "data:image/jpg;base64,${img64.toString()}","language" :"kor"};
var header = {"apikey" :"발급받은 키 번호"};
var post = await http.post(Uri.parse(url),body: payload,headers: header);
var result = jsonDecode(post.body);
setState(() {
parsedtext = result['ParsedResults'][0]['ParsedText'];
});
}
ソース:Create a image to text recognition app with flutterReference
この問題について([Fluth]画像からテキストを抽出), 我々は、より多くの情報をここで見つけました https://velog.io/@mm723/Flutter이미지에서-텍스트-추출하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol