Add convolution and mean filtering

This commit is contained in:
2026-09-22 18:04:45 +02:00
parent 048ff5c792
commit 11aceb1f67
19 changed files with 602 additions and 68 deletions

View File

@@ -4,7 +4,7 @@ import domain.image.GrayScaleMatrix;
import domain.image.Image;
import domain.image.processing.filtering.GlobalLinearFiltering;
public class FilteringService {
public class GlobalFilteringService {
public Image lowPassFiltering(GrayScaleMatrix matrix, double percentage) {
double cutoff = percentage * getMaxCutoff(matrix.getWidth(), matrix.getHeight());

View File

@@ -0,0 +1,23 @@
package services;
import domain.image.GrayScaleMatrix;
import domain.image.Image;
import domain.image.processing.filtering.LocalLinearFiltering;
public class LocalFilteringService {
public Image applyConvolutionMask(Image image, double[][] mask) {
GrayScaleMatrix result = LocalLinearFiltering.convolutionMask(getGrayScale(image), mask);
return result.toImage();
}
public Image applyMeanFilter(Image image, int maskSize) {
GrayScaleMatrix result = LocalLinearFiltering.meanFilter(getGrayScale(image), maskSize);
return result.toImage();
}
private GrayScaleMatrix getGrayScale(Image image) {
return image.toGrayScale();
}
}