@@ -29,6 +29,8 @@ class _CameraPreviewScannerState extends State<CameraPreviewScanner> {
2929 final ImageLabeler _cloudImageLabeler =
3030 FirebaseVision .instance.cloudImageLabeler ();
3131 final TextRecognizer _recognizer = FirebaseVision .instance.textRecognizer ();
32+ final TextRecognizer _cloudRecognizer =
33+ FirebaseVision .instance.cloudTextRecognizer ();
3234
3335 @override
3436 void initState () {
@@ -72,6 +74,8 @@ class _CameraPreviewScannerState extends State<CameraPreviewScanner> {
7274 switch (_currentDetector) {
7375 case Detector .text:
7476 return _recognizer.processImage;
77+ case Detector .cloudText:
78+ return _cloudRecognizer.processImage;
7579 case Detector .barcode:
7680 return _barcodeDetector.detectInImage;
7781 case Detector .label:
@@ -119,7 +123,8 @@ class _CameraPreviewScannerState extends State<CameraPreviewScanner> {
119123 painter = LabelDetectorPainter (imageSize, _scanResults);
120124 break ;
121125 default :
122- assert (_currentDetector == Detector .text);
126+ assert (_currentDetector == Detector .text ||
127+ _currentDetector == Detector .cloudText);
123128 if (_scanResults is ! VisionText ) return noResultsText;
124129 painter = TextDetectorPainter (imageSize, _scanResults);
125130 }
@@ -200,6 +205,10 @@ class _CameraPreviewScannerState extends State<CameraPreviewScanner> {
200205 child: Text ('Detect Text' ),
201206 value: Detector .text,
202207 ),
208+ const PopupMenuItem <Detector >(
209+ child: Text ('Detect Cloud Text' ),
210+ value: Detector .cloudText,
211+ ),
203212 ],
204213 ),
205214 ],
@@ -222,6 +231,7 @@ class _CameraPreviewScannerState extends State<CameraPreviewScanner> {
222231 _imageLabeler.close ();
223232 _cloudImageLabeler.close ();
224233 _recognizer.close ();
234+ _cloudRecognizer.close ();
225235 });
226236
227237 _currentDetector = null ;
0 commit comments