{"id":19760416,"url":"https://github.com/refactory-id/flutter_camera_ml_vision","last_synced_at":"2026-05-09T20:48:05.672Z","repository":{"id":68432177,"uuid":"345571577","full_name":"refactory-id/flutter_camera_ml_vision","owner":"refactory-id","description":null,"archived":false,"fork":false,"pushed_at":"2021-03-08T07:47:56.000Z","size":3154,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-28T09:50:31.275Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/refactory-id.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["Kleak","jaumard"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["kleak*keybase.io"]}},"created_at":"2021-03-08T07:45:51.000Z","updated_at":"2021-03-08T07:48:03.000Z","dependencies_parsed_at":"2023-02-21T09:30:39.612Z","dependency_job_id":null,"html_url":"https://github.com/refactory-id/flutter_camera_ml_vision","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/refactory-id/flutter_camera_ml_vision","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refactory-id%2Fflutter_camera_ml_vision","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refactory-id%2Fflutter_camera_ml_vision/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refactory-id%2Fflutter_camera_ml_vision/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refactory-id%2Fflutter_camera_ml_vision/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/refactory-id","download_url":"https://codeload.github.com/refactory-id/flutter_camera_ml_vision/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/refactory-id%2Fflutter_camera_ml_vision/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285852000,"owners_count":27242460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-22T02:00:05.934Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T03:37:10.958Z","updated_at":"2025-11-22T20:01:30.991Z","avatar_url":"https://github.com/refactory-id.png","language":"Dart","funding_links":["https://github.com/sponsors/Kleak","https://github.com/sponsors/jaumard","kleak*keybase.io"],"categories":[],"sub_categories":[],"readme":"# Flutter Camera Ml Vision\n\n[![pub package](https://img.shields.io/pub/v/flutter_camera_ml_vision.svg)](https://pub.dartlang.org/packages/flutter_camera_ml_vision)\n\n\nA Flutter package for iOS and Android to show a preview of the camera and detect things with Firebase ML Vision.\n\n\u003cimg src=\"https://raw.githubusercontent.com/rushio-consulting/flutter_camera_ml_vision/master/videos/scan_page.gif\" width=\"100\" /\u003e\n\n## Installation\n\nFirst, add `flutter_camera_ml_vision` as a dependency.\n\n```yaml\n...\ndependencies:\n  flutter:\n    sdk: flutter\n  flutter_camera_ml_vision: ^2.2.4\n...\n```\n\n## Configure Firebase\nYou must also configure Firebase for each platform project: Android and iOS (see the `example` folder or https://codelabs.developers.google.com/codelabs/flutter-firebase/#4 for step by step details).\n\n\n### iOS\n\nAdd two rows to the ios/Runner/Info.plist:\n\n* one with the key Privacy - Camera Usage Description and a usage description.\n* and one with the key Privacy - Microphone Usage Description and a usage description.\nOr in text format add the key:\n\n```\n\u003ckey\u003eNSCameraUsageDescription\u003c/key\u003e\n\u003cstring\u003eCan I use the camera please?\u003c/string\u003e\n\u003ckey\u003eNSMicrophoneUsageDescription\u003c/key\u003e\n\u003cstring\u003eCan I use the mic please?\u003c/string\u003e\n```\n\nIf you're using one of the on-device APIs, include the corresponding ML Kit library model in your Podfile. Then run pod update in a terminal within the same directory as your Podfile.\n\n```\npod 'Firebase/MLVisionBarcodeModel'\npod 'Firebase/MLVisionFaceModel'\npod 'Firebase/MLVisionLabelModel'\npod 'Firebase/MLVisionTextModel'\n```\n\n### Android\n\nChange the minimum Android sdk version to 21 (or higher) in your `android/app/build.gradle` file.\n\n```\nminSdkVersion 21\n```\n_ps: This is due to the dependency on the camera plugin._\n\n\nIf you're using the on-device `LabelDetector`, include the latest matching [ML Kit: Image Labeling](https://firebase.google.com/support/release-notes/android) dependency in your app-level `build.gradle` file.\n\n```gradle\nandroid {\n    dependencies {\n        // ...\n\n        api 'com.google.firebase:firebase-ml-vision-image-label-model:19.0.0'\n    }\n}\n```\n\nIf you receive compilation errors, try an earlier version of [ML Kit: Image Labeling](https://firebase.google.com/support/release-notes/android).\n\nOptional but recommended: If you use the on-device API, configure your app to automatically download the ML model to the device after your app is installed from the Play Store. To do so, add the following declaration to your app's `AndroidManifest.xml` file:\n\n```xml\n\u003capplication ...\u003e\n  ...\n  \u003cmeta-data\n    android:name=\"com.google.firebase.ml.vision.DEPENDENCIES\"\n    android:value=\"ocr\" /\u003e\n  \u003c!-- To use multiple models: android:value=\"ocr,label,barcode,face\" --\u003e\n\u003c/application\u003e\n```\n\n## Usage\n\n### 1. Example with Barcode\n\n```dart\nCameraMlVision\u003cList\u003cBarcode\u003e\u003e(\n  detector: FirebaseVision.instance.barcodeDetector().detectInImage,\n  onResult: (List\u003cBarcode\u003e barcodes) {\n    if (!mounted || resultSent) {\n      return;\n    }\n    resultSent = true;\n    Navigator.of(context).pop\u003cBarcode\u003e(barcodes.first);\n  },\n)\n```\n\n`CameraMlVision` is a widget that show the preview of the camera. It take a detector as parameter here we pass the `detectInImage` method of the `BarcodeDetector` object.\nThe detector parameter can take all the different FirebaseVision Detector. Here is a list :\n\n```\nFirebaseVision.instance.barcodeDetector().detectInImage\nFirebaseVision.instance.cloudLabelDetector().detectInImage\nFirebaseVision.instance.faceDetector().processImage\nFirebaseVision.instance.labelDetector().detectInImage\nFirebaseVision.instance.textRecognizer().processImage\n```\n\nThen when something is detected the onResult callback is called with the data in the parameter of the function.\n\n### Exposed functionality from CameraController\n\nWe expose some functionality from the CameraController class here a a list of these :\n\n- value\n- prepareForVideoRecording\n- startVideoRecording\n- stopVideoRecording\n- takePicture\n\n## Getting Started\n\nSee the `example` directory for a complete sample app.\n\n## Features and bugs \n\nPlease file feature requests and bugs at the [issue tracker](https://github.com/santetis/flutter_camera_ml_vision/issues).\n\n## Technical Support\n\nFor any technical support, don't hesitate to contact us. \nFind more information in our [website](https://rushio-consulting.fr)\n\nFor now, all the issues with the label `support` mean that they come out of the scope of the following project. So you can [contact us](https://rushio-consulting.fr/support) as a support.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frefactory-id%2Fflutter_camera_ml_vision","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frefactory-id%2Fflutter_camera_ml_vision","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frefactory-id%2Fflutter_camera_ml_vision/lists"}