Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
c21de5c
Make it possible to pass bytes
bparrishMines Oct 25, 2018
671b66c
Add metadata for images
bparrishMines Oct 26, 2018
956d20f
Change tests to reflect metadata
bparrishMines Oct 26, 2018
f1ccefa
Android side of byte images
bparrishMines Oct 26, 2018
09075d0
Change error string to image type
bparrishMines Oct 29, 2018
4c9c428
Use int as rotation
bparrishMines Oct 31, 2018
7def42f
Send int of rotation
bparrishMines Oct 31, 2018
d712e4f
Assertions for metadata
bparrishMines Oct 31, 2018
eb1e94f
Merge branch 'master' of github.com:flutter/plugins into mlkit_android
bparrishMines Nov 15, 2018
35ca899
Add ios implementation to take bytes
bparrishMines Nov 16, 2018
a94fdd3
Create UIImage for mlkit
bparrishMines Nov 16, 2018
26c77ae
fomatting
bparrishMines Nov 16, 2018
9aca7df
Merge branch 'master' of github.com:flutter/plugins into mlkit_android
bparrishMines Nov 16, 2018
eb2c5f6
Make single code place for creating image
bparrishMines Nov 16, 2018
3552446
Add error for wrong type
bparrishMines Nov 16, 2018
c5a2ca8
Add ios orientation
bparrishMines Nov 16, 2018
3671e81
Add TODOs and testing
bparrishMines Nov 17, 2018
724c181
Remove orientation
bparrishMines Nov 17, 2018
31b011c
Image documentation
bparrishMines Nov 17, 2018
30e3e31
version bump
bparrishMines Nov 17, 2018
857b303
formatting
bparrishMines Nov 17, 2018
c5e4894
Documentation
bparrishMines Nov 18, 2018
10e81e2
Switch statement for ImageRotation
bparrishMines Nov 18, 2018
8081a83
formatting
bparrishMines Nov 18, 2018
b139e08
Change default rotation to zero
bparrishMines Nov 26, 2018
d4ce4a0
Take yuv format instead
bparrishMines Nov 28, 2018
5ff2661
Add plane metadata
bparrishMines Dec 6, 2018
75b353c
Update test
bparrishMines Dec 6, 2018
46bf582
Setup iOS side of creating buffer
bparrishMines Dec 7, 2018
e7df772
Documentation
bparrishMines Dec 7, 2018
c18cd9c
Merge branch 'master' of github.com:flutter/plugins into mlkit_android_2
bparrishMines Dec 7, 2018
b513d12
Formatting
bparrishMines Dec 7, 2018
d14aa17
Only assert on iOS
bparrishMines Dec 7, 2018
e07ce35
Keep access to bytes
bparrishMines Dec 10, 2018
db798e7
formatting
bparrishMines Dec 10, 2018
11bf101
Use UIImage instead of CMSampleBufferRef
bparrishMines Dec 12, 2018
f71e279
Formatting
bparrishMines Dec 12, 2018
deca0b5
Style guide enums
bparrishMines Dec 20, 2018
d36c63a
Merge branch 'master' of github.com:flutter/plugins into mlkit_android_2
bparrishMines Jan 3, 2019
1a9ac52
Merge branch 'master' of github.com:flutter/plugins into mlkit_android_2
bparrishMines Jan 3, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Make it possible to pass bytes
  • Loading branch information
bparrishMines committed Oct 25, 2018
commit c21de5c3dd46de47a41647409106d79b1458477a
1 change: 1 addition & 0 deletions packages/firebase_ml_vision/lib/firebase_ml_vision.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ library firebase_ml_vision;
import 'dart:async';
import 'dart:io';
import 'dart:math';
import 'dart:typed_data';

import 'package:flutter/foundation.dart';
import 'package:flutter/services.dart';
Expand Down
4 changes: 3 additions & 1 deletion packages/firebase_ml_vision/lib/src/barcode_detector.dart
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,9 @@ class BarcodeDetector extends FirebaseVisionDetector {
final List<dynamic> reply = await FirebaseVision.channel.invokeMethod(
'BarcodeDetector#detectInImage',
<String, dynamic>{
'path': visionImage.imageFile.path,
'type': _enumToString(visionImage._type),
'path': visionImage._imageFile.path,
'bytes': visionImage._bytes,
'options': <String, dynamic>{
'barcodeFormats': options.barcodeFormats.value,
},
Expand Down
4 changes: 3 additions & 1 deletion packages/firebase_ml_vision/lib/src/face_detector.dart
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ class FaceDetector extends FirebaseVisionDetector {
final List<dynamic> reply = await FirebaseVision.channel.invokeMethod(
'FaceDetector#detectInImage',
<String, dynamic>{
'path': visionImage.imageFile.path,
'type': _enumToString(visionImage._type),
'path': visionImage._imageFile.path,
'bytes': visionImage._bytes,
'options': <String, dynamic>{
'enableClassification': options.enableClassification,
'enableLandmarks': options.enableLandmarks,
Expand Down
34 changes: 29 additions & 5 deletions packages/firebase_ml_vision/lib/src/firebase_vision.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

part of firebase_ml_vision;

enum _FirebaseVisionImageType { file, bytes }

/// The Firebase machine learning vision API.
///
/// You can get an instance by calling [FirebaseVision.instance] and then get
Expand Down Expand Up @@ -56,22 +58,44 @@ class FirebaseVision {
///
/// Create an instance by calling one of the factory constructors.
class FirebaseVisionImage {
FirebaseVisionImage._(this.imageFile);
FirebaseVisionImage._({
@required _FirebaseVisionImageType type,
File imageFile,
Uint8List bytes,
}) : _imageFile = imageFile,
_bytes = bytes,
_type = type;

/// Construct a [FirebaseVisionImage] from a file.
factory FirebaseVisionImage.fromFile(File imageFile) {
assert(imageFile != null);
return FirebaseVisionImage._(imageFile);
return FirebaseVisionImage._(
type: _FirebaseVisionImageType.file,
imageFile: imageFile,
);
}

/// Construct a [FirebaseVisionImage] from a file path.
factory FirebaseVisionImage.fromFilePath(String imagePath) {
assert(imagePath != null);
return FirebaseVisionImage._(File(imagePath));
return FirebaseVisionImage._(
type: _FirebaseVisionImageType.file,
imageFile: File(imagePath),
);
}

/// Construct a [FirebaseVisionImage] from a list of bytes.
factory FirebaseVisionImage.fromBytes(Uint8List bytes) {
assert(bytes != null);
return FirebaseVisionImage._(
type: _FirebaseVisionImageType.bytes,
bytes: bytes,
);
}

/// The file location of the image.
final File imageFile;
final File _imageFile;
final Uint8List _bytes;
final _FirebaseVisionImageType _type;
}

/// Abstract class for detectors in [FirebaseVision] API.
Expand Down
8 changes: 6 additions & 2 deletions packages/firebase_ml_vision/lib/src/label_detector.dart
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@ class LabelDetector extends FirebaseVisionDetector {
final List<dynamic> reply = await FirebaseVision.channel.invokeMethod(
'LabelDetector#detectInImage',
<String, dynamic>{
'path': visionImage.imageFile.path,
'type': _enumToString(visionImage._type),
'path': visionImage._imageFile.path,
'bytes': visionImage._bytes,
'options': <String, dynamic>{
'confidenceThreshold': options.confidenceThreshold,
},
Expand Down Expand Up @@ -80,7 +82,9 @@ class CloudLabelDetector extends FirebaseVisionDetector {
final List<dynamic> reply = await FirebaseVision.channel.invokeMethod(
'CloudLabelDetector#detectInImage',
<String, dynamic>{
'path': visionImage.imageFile.path,
'type': _enumToString(visionImage._type),
'path': visionImage._imageFile.path,
'bytes': visionImage._bytes,
'options': options._toMap(),
},
);
Expand Down
4 changes: 3 additions & 1 deletion packages/firebase_ml_vision/lib/src/text_recognizer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ class TextRecognizer implements FirebaseVisionDetector {
await FirebaseVision.channel.invokeMethod(
'TextRecognizer#processImage',
<String, dynamic>{
'path': visionImage.imageFile.path,
'type': _enumToString(visionImage._type),
'path': visionImage._imageFile.path,
'bytes': visionImage._bytes,
'options': <String, dynamic>{},
},
);
Expand Down