|
|
7 月之前 | |
|---|---|---|
| example | 7 月之前 | |
| ios | 7 月之前 | |
| lib | 7 月之前 | |
| .gitignore | 7 月之前 | |
| .metadata | 7 月之前 | |
| CHANGELOG.md | 7 月之前 | |
| LICENSE | 7 月之前 | |
| README.md | 7 月之前 | |
| analysis_options.yaml | 7 月之前 | |
| pubspec.yaml | 7 月之前 |
照片分类插件是一个Flutter插件,旨在为移动应用提供智能照片分类功能。该插件能够自动识别和分组照片,提升照片管理体验。
将以下内容添加到您项目的 pubspec.yaml 文件中:
dependencies:
photo_classifier:
git:
url: http://git.atmob.com/Groot/clean_pro_photo_classifier_plugin
ref: v1.0.1
然后运行:
flutter pub get
在 ios/Runner/Info.plist 文件中添加以下权限描述:
调用分类器方法前请确保获取了相应的相册权限
<key>NSPhotoLibraryUsageDescription</key>
<string>需要访问照片库以进行照片分类</string>
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: 每批处理的图片数量,默认为200maxConcurrentProcessing: 并发处理的最大数量,默认为4similarityThreshold: 相似度判定阈值(0.0-1.0),值越大表示要求越相似,默认为0.75await classifier.configureClassifier(
batchSize: 100,
maxConcurrentProcessing: 2,
similarityThreshold: 0.8,
);
查看 example 目录获取完整的示例应用。
该插件使用视觉处理算法对照片进行分析,通过比较图像特征向量实现相似照片的分组,使用机器学习模型识别人物照片、屏幕截图和模糊图像。
在iPhone 12上对1686张相册图片的测试对比中,相比Clean Pro v1.04版本:
| 性能指标 | 旧版本 | 新版本 | 提升倍率 |
|---|---|---|---|
| 首屏加载时间 | 44.76秒 | 1.27秒 | 35.2倍 |
| 全分类完成时间 | 76.22秒 | 10.93秒 | 7.0倍 |
通过算法优化和并行处理,大幅提升了分类速度,同时保持了高准确度的分类结果,为用户提供更流畅的照片管理体验。
欢迎提交问题和功能请求!要贡献代码,请先创建一个issue讨论您想要更改的内容。
该项目采用MIT许可证 - 详情请参阅 LICENSE 文件