face_camera
一个实时检测人脸的Flutter相机插件。
预览

安装
首先,在您的pubspec.yaml文件中将face_camera添加为依赖项。
face_camera: ^0.0.3
iOS
- 最低 iOS 部署目标:10.0
- 请遵循此链接并设置
ML Kit,这是face_camera在iOS中正常运行所必需的。
在ios/Runner/Info.plist中添加两行:
- 一行是键为
Privacy - Camera Usage Description以及使用说明。 - 另一行是键为
Privacy - Microphone Usage Description以及使用说明。
如果将Info.plist作为文本进行编辑,请添加
<key>NSCameraUsageDescription</key>
<string>your usage description here</string>
<key>NSMicrophoneUsageDescription</key>
<string>your usage description here</string>
Android
- 在您的
android/app/build.gradle文件中将最低 Android sdk 版本更改为 21(或更高)。
minSdkVersion 21
用法
- 第一步是在
main.dart中初始化face_camera。
void main() async{
WidgetsFlutterBinding.ensureInitialized(); //Add this
await FaceCamera.intialize(); //Add this
runApp(const MyApp());
}
- 然后,在您的应用程序中渲染组件,并设置onCapture回调。
@override
Widget build(BuildContext context) {
return Scaffold(
body: SmartFaceCamera(
autoCapture: true,
defaultCameraLens: CameraLens.front,
message: 'Center your face in the square',
onCapture: (File? image){
},
)
);
}
自定义
以下是可用于自定义小部件的属性列表:
| 名称 | 类型 | 描述 |
|---|---|---|
| onCapture | Function(File) | 相机捕获图像时调用的回调 |
| imageResolution | ImageResolution | 用于设置图像分辨率 |
| defaultCameraLens | CameraLens | 用于设置初始相机镜头方向 |
| defaultFlashMode | CameraFlashMode | 用于设置初始闪光灯模式 |
| enableAudio | 布尔值 | 设置为false可禁用拍摄声音 |
| autoCapture | 布尔值 | 设置为true可在检测到人脸时捕获图像 |
| showControls | 布尔值 | 设置为false可隐藏所有控件 |
| showCaptureControl | 布尔值 | 设置为false可隐藏拍摄控件图标 |
| showFlashControl | 布尔值 | 设置为false可隐藏闪光灯控件图标 |
| showCameraLensControl | 布尔值 | 设置为false可隐藏相机镜头控件图标 |
| message | 字符串 | 用于在相机上方显示消息 |
| messageStyle | TextStyle | 应用于消息小部件的样式 |
| orientation | CameraOrientation | 用于锁定相机方向 |
| captureControlIcon | Widget | 用于为拍摄控件渲染自定义小部件 |
| lensControlIcon | Widget | 用于为相机镜头控件渲染自定义小部件 |
| flashControlBuilder | FlashControlBuilder | 用于根据相机闪光灯模式构建自定义小部件 |
贡献
欢迎任何形式的贡献!随时可以Fork并以任何您想要的方式改进face_camera,提交Pull Request或打开Issue。
支持此库
您可以通过在pub上点赞、在Github上标星以及报告遇到的任何bug来支持此库。