2
0

face_config.dart 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import 'face_environment.dart';
  2. import 'liveness_type_enum.dart';
  3. class FaceConfig {
  4. /// 图像光照阀值
  5. var brightnessValue = FaceEnvironment.VALUE_BRIGHTNESS;
  6. /// 图像模糊阀值
  7. var blurnessValue = FaceEnvironment.VALUE_BLURNESS;
  8. /// 图像中人脸遮挡阀值
  9. var occlusionValue = FaceEnvironment.VALUE_OCCLUSION;
  10. /// 图像中人脸抬头低头角度阀值
  11. var headPitchValue = FaceEnvironment.VALUE_HEAD_PITCH;
  12. /// 图像中人脸左右角度阀值
  13. var headYawValue = FaceEnvironment.VALUE_HEAD_YAW;
  14. /// 图像中人脸偏头阀值
  15. var headRollValue = FaceEnvironment.VALUE_HEAD_ROLL;
  16. /// 裁剪图像中人脸时的大小
  17. var cropFaceValue = FaceEnvironment.VALUE_CROP_FACE_SIZE;
  18. /// 图像能被检测出人脸的最小人脸值
  19. var minFaceSize = FaceEnvironment.VALUE_MIN_FACE_SIZE;
  20. /// 图像能被检测出人脸阀值
  21. var notFaceValue = FaceEnvironment.VALUE_NOT_FACE_THRESHOLD;
  22. /// 人脸采集图片数量阀值
  23. var maxCropImageNum = FaceEnvironment.VALUE_MAX_CROP_IMAGE_NUM;
  24. /// 是否进行人脸图片质量检测
  25. var isCheckFaceQuality = FaceEnvironment.VALUE_IS_CHECK_QUALITY;
  26. /// 是否开启提示音
  27. var isSound = true;
  28. /// 是否进行检测
  29. var sVerifyLive = true;
  30. /// 人脸检测时开启的进程数,建议为CPU核数
  31. var faceDecodeNumberOfThreads = 0;
  32. /// 是否随机活体检测动作
  33. var isLivenessRandom = false;
  34. /// 随机活体检测动作数
  35. var livenessRandomCount = FaceEnvironment.VALUE_LIVENESS_DEFAULT_RANDOM_COUNT;
  36. /// 活体检测的动作类型列表
  37. List<LivenessType> livenessTypeList = [
  38. LivenessType.Eye,
  39. LivenessType.Mouth,
  40. LivenessType.HeadUp,
  41. LivenessType.HeadDown,
  42. LivenessType.HeadLeft,
  43. LivenessType.HeadRight
  44. ];
  45. toJson() {
  46. return {
  47. 'brightnessValue': this.brightnessValue,
  48. 'blurnessValue': this.blurnessValue,
  49. 'occlusionValue': this.occlusionValue,
  50. 'headPitchValue': this.headPitchValue,
  51. 'headYawValue': this.headYawValue,
  52. 'headRollValue': this.headRollValue,
  53. 'cropFaceValue': this.cropFaceValue,
  54. 'minFaceSize': this.minFaceSize,
  55. 'notFaceValue': this.notFaceValue,
  56. 'maxCropImageNum': this.maxCropImageNum,
  57. 'isCheckFaceQuality': this.isCheckFaceQuality,
  58. 'isSound': this.isSound,
  59. 'sVerifyLive': this.sVerifyLive,
  60. 'faceDecodeNumberOfThreads': this.faceDecodeNumberOfThreads,
  61. 'isLivenessRandom': this.isLivenessRandom,
  62. 'livenessRandomCount': this.livenessRandomCount,
  63. 'livenessTypeList': this.livenessTypeList.map((item) => item.index).toList(),
  64. };
  65. }
  66. }