FramePipelineConfig.forMode constructor
FramePipelineConfig.forMode(
- ScanMode mode
Creates a pipeline config optimized for the given scan mode.
Implementation
factory FramePipelineConfig.forMode(ScanMode mode) {
switch (mode) {
case ScanMode.qr:
case ScanMode.barcode:
case ScanMode.multiCode:
return const FramePipelineConfig(
preprocessing: PreprocessingStrategy(
enableBinarization: true,
binarizationType: BinarizationType.otsu,
enableNoiseReduction: false,
),
qualityGate: QualityGateConfig(
minBlurScore: 30.0,
enableGlareDetection: false,
),
maxFps: 20,
enableMultiPassOcr: false,
enableBarcodeFallback: true,
);
case ScanMode.document:
return const FramePipelineConfig(
preprocessing: PreprocessingStrategy(
enableEdgeDetection: true,
enableNoiseReduction: true,
noiseReductionStrength: 0.5,
),
qualityGate: QualityGateConfig(
minBlurScore: 60.0,
minCoverageRatio: 0.2,
enableGlareDetection: true,
),
maxFps: 10,
enableMultiPassOcr: false,
);
case ScanMode.ocr:
case ScanMode.invoice:
case ScanMode.receipt:
case ScanMode.businessCard:
return const FramePipelineConfig(
preprocessing: PreprocessingStrategy(
enableContrastEnhancement: true,
enableSharpening: true,
enableBinarization: true,
binarizationType: BinarizationType.sauvola,
),
qualityGate: QualityGateConfig(
minBlurScore: 50.0,
minContrastRatio: 0.25,
),
maxFps: 12,
enableMultiPassOcr: true,
);
case ScanMode.passport:
case ScanMode.vin:
return const FramePipelineConfig(
preprocessing: PreprocessingStrategy(
enableContrastEnhancement: true,
enableSharpening: true,
enableBinarization: true,
binarizationType: BinarizationType.sauvola,
),
qualityGate: QualityGateConfig(
minBlurScore: 60.0,
minContrastRatio: 0.3,
),
maxFps: 12,
enableMultiPassOcr: true,
);
case ScanMode.face:
return const FramePipelineConfig(
preprocessing: PreprocessingStrategy(
enableGammaCorrection: true,
gamma: 0.7,
enableNoiseReduction: true,
noiseReductionStrength: 0.3,
),
qualityGate: QualityGateConfig(
minBlurScore: 40.0,
enableGlareDetection: false,
),
maxFps: 15,
enableMultiPassOcr: false,
);
default:
return const FramePipelineConfig();
}
}