Skip to content

配置选项

本文档详细介绍了 ID-Scanner-Lib 库的所有配置选项。通过正确配置这些选项,您可以根据自己的需求自定义库的行为。

全局配置选项

在创建 IDScanner 实例时,您可以传入全局配置选项:

typescript
import { IDScanner, LogLevel } from 'id-scanner-lib';

const scanner = new IDScanner({
  logLevel: LogLevel.INFO,
  enableIDCard: true,
  enableQRCode: true,
  enableFace: true,
  idCard: { /* 身份证模块配置 */ },
  qrCode: { /* 二维码模块配置 */ },
  face: { /* 人脸识别模块配置 */ }
});

IDScannerOptions

选项类型默认值描述
logLevelLogLevelLogLevel.INFO日志级别,可选值:DEBUGINFOWARNERROR
enableIDCardbooleantrue是否启用身份证识别模块
enableQRCodebooleantrue是否启用二维码扫描模块
enableFacebooleantrue是否启用人脸识别模块
idCardIDCardModuleOptions{}身份证模块配置选项
qrCodeQRCodeModuleOptions{}二维码模块配置选项
faceFaceModuleOptions{}人脸识别模块配置选项

身份证模块配置选项

身份证模块提供以下配置选项:

typescript
import { IDScanner } from 'id-scanner-lib';

const scanner = new IDScanner({
  idCard: {
    enabled: true,
    detector: {
      minConfidence: 0.7,
      enableOCR: true,
      enableAntiFake: true
    },
    ocr: {
      useWorker: true,
      maxImageDimension: 1280,
      brightness: 0,
      contrast: 0
    },
    antiFake: {
      sensitivity: 0.8,
      minConfidence: 0.6
    }
  }
});

IDCardModuleOptions

选项类型默认值描述
enabledbooleantrue是否启用模块
detectorobject{}检测器配置
detector.minConfidencenumber0.7最小置信度,低于此值的结果将被过滤
detector.enableOCRbooleantrue是否启用OCR识别
detector.enableAntiFakebooleantrue是否启用防伪检测
ocrobject{}OCR处理器配置
ocr.useWorkerbooleantrue是否使用Web Worker处理OCR
ocr.maxImageDimensionnumber1280最大图像尺寸
ocr.brightnessnumber0亮度调整 (-100 到 100)
ocr.contrastnumber0对比度调整 (-100 到 100)
antiFakeobject{}防伪检测配置
antiFake.sensitivitynumber0.8防伪检测灵敏度 (0-1)
antiFake.minConfidencenumber0.6防伪检测最小置信度

二维码模块配置选项

二维码模块提供以下配置选项:

typescript
import { IDScanner } from 'id-scanner-lib';

const scanner = new IDScanner({
  qrCode: {
    enabled: true,
    scanner: {
      minConfidence: 0.6,
      tryMultipleScan: true,
      returnImage: false
    },
    imageProcess: {
      preprocess: true,
      enhanceContrast: true,
      threshold: 128
    }
  }
});

QRCodeModuleOptions

选项类型默认值描述
enabledbooleantrue是否启用模块
scannerobject{}扫描器配置
scanner.minConfidencenumber0.6最小置信度,低于此值的结果将被过滤
scanner.tryMultipleScanbooleantrue是否尝试多次扫描提高成功率
scanner.returnImagebooleanfalse是否在结果中返回原始图像
imageProcessobject{}图像处理配置
imageProcess.preprocessbooleantrue是否进行预处理
imageProcess.enhanceContrastbooleantrue是否增强对比度
imageProcess.thresholdnumber128二值化阈值 (0-255)

人脸识别模块配置选项

人脸识别模块提供以下配置选项:

typescript
import { IDScanner } from 'id-scanner-lib';

const scanner = new IDScanner({
  face: {
    enabled: true,
    detector: {
      minConfidence: 0.8,
      detectLandmarks: true,
      detectAttributes: true,
      returnFaceImage: true
    },
    liveness: {
      enabled: true,
      type: 'passive',
      minConfidence: 0.7,
      timeout: 10000
    },
    comparison: {
      minSimilarity: 0.8
    }
  }
});

FaceModuleOptions

选项类型默认值描述
enabledbooleantrue是否启用模块
detectorobject{}检测器配置
detector.minConfidencenumber0.8最小置信度,低于此值的结果将被过滤
detector.detectLandmarksbooleantrue是否检测面部特征点
detector.detectAttributesbooleantrue是否检测面部属性
detector.returnFaceImagebooleantrue是否在结果中返回人脸图像
livenessobject{}活体检测配置
liveness.enabledbooleantrue是否启用活体检测
liveness.type'blink' | 'mouth' | 'head' | 'passive''passive'活体检测类型
liveness.minConfidencenumber0.7活体检测最小置信度
liveness.timeoutnumber10000检测超时时间(毫秒)
comparisonobject{}人脸比对配置
comparison.minSimilaritynumber0.8最小相似度阈值 (0-1)

配置示例

基本配置示例

typescript
import { IDScanner, LogLevel } from 'id-scanner-lib';

const scanner = new IDScanner({
  logLevel: LogLevel.DEBUG,
  enableIDCard: true,
  enableQRCode: true,
  enableFace: false // 不使用人脸识别模块
});

await scanner.initialize();

完整配置示例

typescript
import { IDScanner, LogLevel } from 'id-scanner-lib';

const scanner = new IDScanner({
  logLevel: LogLevel.INFO,
  enableIDCard: true,
  enableQRCode: true,
  enableFace: true,
  
  // 身份证模块配置
  idCard: {
    enabled: true,
    detector: {
      minConfidence: 0.7,
      enableOCR: true,
      enableAntiFake: true
    },
    ocr: {
      useWorker: true,
      maxImageDimension: 1280
    }
  },
  
  // 二维码模块配置
  qrCode: {
    enabled: true,
    scanner: {
      minConfidence: 0.6,
      tryMultipleScan: true
    }
  },
  
  // 人脸识别模块配置
  face: {
    enabled: true,
    detector: {
      minConfidence: 0.8,
      detectLandmarks: true
    },
    liveness: {
      enabled: true,
      type: 'passive'
    }
  }
});

await scanner.initialize();

动态更新配置

所有模块都支持在运行时更新配置:

typescript
const idCardModule = scanner.getIDCardModule();
if (idCardModule) {
  // 更新身份证模块配置
  idCardModule.updateConfig({
    detector: {
      minConfidence: 0.8
    },
    ocr: {
      brightness: 10,
      contrast: 15
    }
  });
}

基于 MIT 许可发布