analyzeContrast static method
Analyzes contrast quality of the image.
Implementation
static ContrastAnalysis analyzeContrast(Uint8List imageBytes) {
if (imageBytes.isEmpty) {
return const ContrastAnalysis(
contrastRatio: 0.0,
isAdequate: false,
dynamicRange: 0,
);
}
int minVal = 255;
int maxVal = 0;
for (int i = 0; i < imageBytes.length; i++) {
if (imageBytes[i] < minVal) minVal = imageBytes[i];
if (imageBytes[i] > maxVal) maxVal = imageBytes[i];
}
final dynamicRange = maxVal - minVal;
final contrastRatio = dynamicRange / 255.0;
return ContrastAnalysis(
contrastRatio: contrastRatio,
isAdequate: contrastRatio > 0.3,
dynamicRange: dynamicRange,
);
}