- 1 سال قبل
- علیرضا نصراله زاده
کار با پکیج (Package) ام ال کیت (Ml Kit) در فلاتر (Flutter)
پکیج ML Kit از Google یک پکیج قدرتمند برای پشتیبانی از ویژگیهای مربوط به هوش مصنوعی و ماشین لرنینگ در اپلیکیشنهای فلاتر است. این پکیج امکانات متنوعی از جمله تشخیص چهره، تشخیص محتوای تصویر، OCR (تشخیص متن)، ترجمه متن و ... را فراهم میکند.
برای استفاده از ML Kit در فلاتر، ابتدا باید این پکیج را به فایل pubspec.yaml پروژه اضافه کنید. برای این کار، کد زیر را در بخش dependencies این فایل قرار دهید:
dependencies:
firebase_ml_vision: ^0.12.0+1
سپس پروژه را با استفاده از دستور flutter pub get بروز کنید.
حالا میتوانید از قابلیتهای مختلف ML Kit استفاده کنید. به عنوان مثال، برای تشخیص متن با استفاده از OCR، کد زیر را میتوانید در اپلیکیشن فلاتر خود استفاده کنید:
import 'package:flutter/material.dart';
import 'package:firebase_ml_vision/firebase_ml_vision.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
String recognizedText = '';
Future<void> recognizeText() async {
FirebaseVisionImage visionImage = FirebaseVisionImage.fromFilePath('path_to_image.jpg');
TextRecognizer textRecognizer = FirebaseVision.instance.textRecognizer();
VisionText visionText = await textRecognizer.processImage(visionImage);
String text = '';
for (TextBlock block in visionText.blocks) {
for (TextLine line in block.lines) {
for (TextElement element in line.elements) {
text += element.text + ' ';
}
}
}
setState(() {
recognizedText = text;
});
textRecognizer.close();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('ML Kit Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
onPressed: recognizeText,
child: Text('Recognize Text'),
),
SizedBox(height: 20),
recognizedText.isNotEmpty
? Text(
'Recognized Text: $recognizedText',
style: TextStyle(fontSize: 20),
)
: Container(),
],
),
),
);
}
}
در این مثال، تابع recognizeText با استفاده از OCR متن تصویر را تشخیص میدهد. شما میتوانید عکسهای خود را جایگزین path_to_image.jpg کنید.
نکته: مطمئن شوید که در اپلیکیشن شما اجازه دسترسی به دوربین یا گالری تصاویر فعال شده باشد.