Groot 8 месяцев назад
Родитель
Сommit
0704ed2034
1 измененных файлов с 131 добавлено и 10 удалено
  1. 131 10
      README.md

+ 131 - 10
README.md

@@ -1,15 +1,136 @@
-# photo_classifier
+# Photo Classifier
 
-A new Flutter plugin project.
+![Flutter](https://img.shields.io/badge/Flutter-3.0+-02569B?logo=flutter)
+![Platform](https://img.shields.io/badge/Platform-iOS-lightgrey)
+![License](https://img.shields.io/badge/License-MIT-blue)
 
-## Getting Started
+照片分类插件是一个Flutter插件,旨在为移动应用提供智能照片分类功能。该插件能够自动识别和分组照片,提升照片管理体验。
 
-This project is a starting point for a Flutter
-[plug-in package](https://flutter.dev/to/develop-plugins),
-a specialized package that includes platform-specific implementation code for
-Android and/or iOS.
+## 功能特点
 
-For help getting started with Flutter development, view the
-[online documentation](https://docs.flutter.dev), which offers tutorials,
-samples, guidance on mobile development, and a full API reference.
+- **相似照片分组**: 自动检测并分组相似的照片,帮助用户快速找到并整理重复照片
+- **人物照片识别**: 智能识别包含人物的照片
+- **屏幕截图识别**: 自动归类所有屏幕截图
+- **模糊照片检测**: 识别质量不佳的模糊照片
+- **实时处理进度**: 通过流(Stream)提供实时的分类进度和结果更新
+
+## 安装
+
+将以下内容添加到您项目的 `pubspec.yaml` 文件中:
+
+```yaml
+dependencies:
+  photo_classifier:
+    git:
+      url: http://git.atmob.com/Groot/clean_pro_photo_classifier_plugin
+      ref: master
+```
+
+然后运行:
+
+```
+flutter pub get
+```
+
+## 权限配置
+
+### iOS
+
+在 `ios/Runner/Info.plist` 文件中添加以下权限描述:
+调用分类器方法前请确保获取了相应的相册权限
+
+```xml
+<key>NSPhotoLibraryUsageDescription</key>
+<string>需要访问照片库以进行照片分类</string>
+```
+
+## 使用方法
+
+### 基本用法
+
+```dart
+import 'package:photo_classifier/photo_classifier.dart';
+import 'package:photo_classifier/models.dart';
+
+// 创建分类器实例
+final classifier = PhotoClassifier();
+
+// 配置分类器
+await classifier.configureClassifier(
+  batchSize: 200,
+  maxConcurrentProcessing: 4,
+  similarityThreshold: 0.75,
+);
+
+// 开始分类并监听结果
+final subscription = classifier
+  .startClassificationStream()
+  .listen((event) {
+    if (event == null) return;
+    
+    // 获取进度信息
+    final progress = event.progress;
+    print('进度: ${(progress?.rate ?? 0) * 100}%');
+    
+    // 获取分类结果
+    final result = event.result;
+    if (result != null) {
+      // 处理相似图片组
+      final similarGroups = result.similarGroups ?? [];
+      
+      // 处理人物照片
+      final peopleImages = result.peopleImages ?? [];
+      
+      // 处理截图
+      final screenshotImages = result.screenshotImages ?? [];
+      
+      // 处理模糊照片
+      final blurryImages = result.blurryImages ?? [];
+    }
+    
+    // 检查是否完成
+    if (progress?.isCompleted == true) {
+      subscription.cancel();
+    }
+  },
+  onError: (error) {
+    print('分类错误: $error');
+  });
+
+// 取消分类过程
+subscription.cancel();
+classifier.resetClassifier();
+```
+
+### 配置选项
+
+分类器提供以下配置选项:
+
+- `batchSize`: 每批处理的图片数量,默认为200
+- `maxConcurrentProcessing`: 并发处理的最大数量,默认为4
+- `similarityThreshold`: 相似度判定阈值(0.0-1.0),值越大表示要求越相似,默认为0.75
+
+```dart
+await classifier.configureClassifier(
+  batchSize: 100,
+  maxConcurrentProcessing: 2,
+  similarityThreshold: 0.8,
+);
+```
+
+## 完整示例
+
+查看 [example](http://git.atmob.com/Groot/clean_pro_photo_classifier_plugin/src/master/example) 目录获取完整的示例应用。
+
+## 实现原理
+
+该插件使用视觉处理算法对照片进行分析,通过比较图像特征向量实现相似照片的分组,使用机器学习模型识别人物照片、屏幕截图和模糊图像。
+
+## 贡献
+
+欢迎提交问题和功能请求!要贡献代码,请先创建一个issue讨论您想要更改的内容。
+
+## 许可
+
+该项目采用MIT许可证 - 详情请参阅 [LICENSE](LICENSE) 文件