Browse Source

update example app, update redme

Groot 7 months ago
parent
commit
3d4ec508cc
2 changed files with 18 additions and 9 deletions
  1. 12 1
      README.md
  2. 6 8
      example/lib/main.dart

+ 12 - 1
README.md

@@ -23,7 +23,7 @@ dependencies:
   photo_classifier:
   photo_classifier:
     git:
     git:
       url: http://git.atmob.com/Groot/clean_pro_photo_classifier_plugin
       url: http://git.atmob.com/Groot/clean_pro_photo_classifier_plugin
-      ref: master
+      ref: v1.0.1
 ```
 ```
 
 
 然后运行:
 然后运行:
@@ -126,6 +126,17 @@ await classifier.configureClassifier(
 
 
 该插件使用视觉处理算法对照片进行分析,通过比较图像特征向量实现相似照片的分组,使用机器学习模型识别人物照片、屏幕截图和模糊图像。
 该插件使用视觉处理算法对照片进行分析,通过比较图像特征向量实现相似照片的分组,使用机器学习模型识别人物照片、屏幕截图和模糊图像。
 
 
+## 性能优势
+
+在iPhone 12上对1686张相册图片的测试对比中,相比`Clean Pro` `v1.04`版本:
+
+| 性能指标 | 旧版本 | 新版本 | 提升倍率 |
+|---------|-------|-------|---------|
+| 首屏加载时间 | 44.76秒 | 1.27秒 | **35.2倍** |
+| 全分类完成时间 | 76.22秒 | 10.93秒 | **7.0倍** |
+
+通过算法优化和并行处理,大幅提升了分类速度,同时保持了高准确度的分类结果,为用户提供更流畅的照片管理体验。
+
 ## 贡献
 ## 贡献
 
 
 欢迎提交问题和功能请求!要贡献代码,请先创建一个issue讨论您想要更改的内容。
 欢迎提交问题和功能请求!要贡献代码,请先创建一个issue讨论您想要更改的内容。

+ 6 - 8
example/lib/main.dart

@@ -135,8 +135,8 @@ class _MyAppState extends State<MyApp> {
     
     
     return Expanded(
     return Expanded(
       child: ListView(
       child: ListView(
-        children: [
-          _buildResultItem('相似图片组', _similarResult.length, isGroup: true),
+        children: [ 
+          _buildResultItem('相似图片组', _similarResult.length),
           _buildResultItem('人物照片', _peopleResult.length),
           _buildResultItem('人物照片', _peopleResult.length),
           _buildResultItem('屏幕截图', _screenshotResult.length),
           _buildResultItem('屏幕截图', _screenshotResult.length),
           _buildResultItem('模糊图片', _blurryResult.length),
           _buildResultItem('模糊图片', _blurryResult.length),
@@ -145,18 +145,15 @@ class _MyAppState extends State<MyApp> {
     );
     );
   }
   }
 
 
-  Widget _buildResultItem(String title, dynamic items, {bool isGroup = false}) {
-    if (items == null) return const SizedBox.shrink();
-    
-    final count = isGroup ? (items as List).length : (items as List).length;
-    final itemsText = isGroup ? '$count 组' : '$count 张';
+  Widget _buildResultItem(String title, int itemsCount) {
+    if (itemsCount == 0) return const SizedBox.shrink();
     
     
     return Padding(
     return Padding(
       padding: const EdgeInsets.symmetric(vertical: 8.0),
       padding: const EdgeInsets.symmetric(vertical: 8.0),
       child: Column(
       child: Column(
         crossAxisAlignment: CrossAxisAlignment.start,
         crossAxisAlignment: CrossAxisAlignment.start,
         children: [
         children: [
-          Text('$title: $itemsText', 
+          Text('$title: $itemsCount', 
                style: const TextStyle(fontWeight: FontWeight.bold)),
                style: const TextStyle(fontWeight: FontWeight.bold)),
           // 这里可以添加图片预览
           // 这里可以添加图片预览
         ],
         ],
@@ -229,6 +226,7 @@ class _MyAppState extends State<MyApp> {
               _blurryResult.addAll(result.blurryImages?.map((image) => image).toList() ?? []);
               _blurryResult.addAll(result.blurryImages?.map((image) => image).toList() ?? []);
             }
             }
             if (event.progress?.isCompleted == true) {
             if (event.progress?.isCompleted == true) {
+              print("分类完成, 总耗时: ${event.progress?.totalDuration}");
               _isClassifying = false;
               _isClassifying = false;
               _subscription?.cancel();
               _subscription?.cancel();
               // 取消订阅
               // 取消订阅