unsharpMask static method
Applies unsharp mask sharpening.
Enhances edges by subtracting a blurred version from the original. Formula: sharpened = original + amount × (original - blurred)
amount — Sharpening strength (0.5–2.0 typical). Default: 1.0.
blurSigma — Sigma for the Gaussian blur pass. Default: 1.0.
Implementation
static Uint8List unsharpMask(
Uint8List gray,
int width,
int height, {
double amount = 1.0,
double blurSigma = 1.0,
}) {
final blurred = gaussianBlur(gray, width, height, kernelSize: 5, sigma: blurSigma);
final result = Uint8List(gray.length);
for (int i = 0; i < gray.length; i++) {
final diff = gray[i] - blurred[i];
final sharpened = gray[i] + (diff * amount).round();
result[i] = sharpened.clamp(0, 255);
}
return result;
}