当前位置: 首页 > article >正文

flutter 使用google_mlkit_image_labeling做图片识别

         在AI横行的如今,相信大家或多或少都做过跟AI接轨的需求了吧?今天我说的是关于图片识别的需求,flutter的专属图片识别插件google_mlkit_image_labeling。

        google_mlkit_image_labeling它是Google旗下的Google Cloud Vision API中分支出来的一部分功能,重要的是它是免费的!

        那么google_mlkit_image_labeling它都支持哪些功能呢?下面我们列举一下官方提供API:


视觉API

条形码扫描
人脸检测
人脸网格检测(测试版)
文本识别v2 
图片标签
对象检测和跟踪
数字墨水识别
姿态检测(测试版)
自拍分段(测试版)
主题细分(测试版)
文档扫描仪(测试版)

自然语言API

语言识别
设备翻译
智能回复
实体提取(测试版)

        而且以上的API基本都同时支持Android和IOS,具体可以去官方查看。

        而今天我要讲的是其中一个,图片标签识别。主要用于识别图片都有些啥,概率是多大,是的没错,它不会准确的告诉你这是啥,而是告诉你都有可能是啥,概率多大。具体判断还是由我们人去判断是个什么。下面上图具体看看效果:

        现在我们开始讲解怎么接入和使用这个插件,首先我们需要添加插件,在.yaml文件上加入下面语句:

           

  google_mlkit_image_labeling: any

        然后更新一下项目,确保插件已经加入项目里面了,然后在需要实现逻辑的代码行下添加如下代码:

 onTap: () async {
                String? text;
                int? index;
                data = "";
                double? confidence;
                //用于相册选择完图片后返回图片实例
                final ImagePicker picker = ImagePicker();
                final XFile? image = await picker.pickImage(source: ImageSource.gallery);
                ///google_mlkit_image_labeling逻辑实现
                final InputImage inputImage = InputImage.fromFilePath(image!.path);
                final ImageLabelerOptions options = 
                ImageLabelerOptions(confidenceThreshold: 0.5);
                final imageLabeler = ImageLabeler(options: options);
                ///通过对InputImage的实例进行分析返回的图像标签集合
                final List<ImageLabel> labels = await 
                imageLabeler.processImage(inputImage);
                ///对所有标签遍历打印出来
                for (ImageLabel label in labels) {
                    text = label.label;
                    index = label.index;
                    confidence = label.confidence;
                    data = "${data} ${text}的概率为${confidence}";
                }
                ///处理完图片后对资源进行释放
                imageLabeler.close();
                print( "${data}");
                setState(() {

                });
              }

由于我添加在点击事件上,我直接把我的代码贴上来了,然后这下面两句是用于选择图片的:

   final ImagePicker picker = ImagePicker();
   final XFile? image = await picker.pickImage(source: ImageSource.gallery);

这也是一个选择图片的插件延申出来的代码,这个选择图片的插件为下面这个:

image_picker: any

想要的也可以拿走,然后有啥不懂的可以看我的注释,基本上傻瓜式调用google_mlkit_image_labeling这个插件的代码就会返回我们需要的图像标签。

        本次讲课结束,如果有哪里讲错的,请务必联系我修改,只是浅浅应用,因为flutter相关的资料太少了,为大家贡献一点绵薄之力,共勉诸君!


http://www.kler.cn/a/510748.html

相关文章:

  • 计算机毕业设计PySpark+Hadoop+Hive机票预测 飞机票航班数据分析可视化大屏 航班预测系统 机票爬虫 飞机票推荐系统 大数据毕业设计
  • AUTOSAR从入门到精通-城市NOA(领航辅助驾驶)
  • 渗透笔记1
  • TiDB 和 MySQL 的关系:这两者到底有什么不同和联系?
  • 智能学习平台系统设计与实现(代码+数据库+LW)
  • Mybatis 进阶 / Mybatis—Puls (详细)
  • Spring Boot 整合 log4j2 日志配置教程
  • 洛谷P4868 Preprefix sum
  • 基于ESP32+VUE+JAVA+Ngnix的一个小型固件编译系统
  • Top期刊算法!RIME-CNN-BiLSTM-Attention系列四模型多变量时序预测
  • 最新版Edge浏览器加载ActiveX控件技术——allWebPlugin中间件之awp_CreateActiveXObject接口用法
  • hydra破解密码
  • USB3020任意波形发生器4路16位同步模拟量输出卡1MS/s频率 阿尔泰科技
  • FPGA 时钟功能
  • 到底应不应该使用@Builder
  • 【Linux系统编程】—— 虚拟内存与进程地址空间的管理:操作系统如何实现内存保护与高效分配
  • 算法日记6.StarryCoding P52:我们都需要0(异或)
  • Hugging Face功能介绍,及在线体验文生图模型Flux
  • 202509读书笔记|《飞花令·山》——两岸猿声啼不住,轻舟已过万重山
  • Solidity04 Solidity值类型
  • LLMs之Dataset:中文互联网基础语料2.0的简介、下载和使用方法、案例应用之详细攻略
  • 【2024年华为OD机试】 (B卷,100分)- 字符串分割(Java JS PythonC/C++)
  • 【服务器】Ubuntu22.04配置静态ip
  • 【论文阅读】End-to-End Adversarial-Attention Network for Multi-Modal Clustering
  • 第13章:Python TDD完善货币加法运算(二)
  • 【MyDB】3-DataManager数据管理 之 4-数据页缓存