Add some time measurements
This commit is contained in:
@@ -40,7 +40,7 @@ public class UseCasePresenter {
|
||||
Image image1 = loadImage(NOISE_1_IMAGE);
|
||||
Image image2 = loadImage(NOISE_2_IMAGE);
|
||||
|
||||
Image reduced1 = measureTime("Reduction 1", () -> service.reduceNoise(image1, 0.5f, 7));
|
||||
Image reduced1 = measureTime("Reduction 1", () -> service.reduceNoise(image1, 1f, 7));
|
||||
Image reduced2 = measureTime("Reduction 2", () -> service.reduceNoise(image2, 1f, 5));
|
||||
|
||||
Image[] results = { reduced1, reduced2 };
|
||||
@@ -81,7 +81,7 @@ public class UseCasePresenter {
|
||||
|
||||
public void computeToastOutline() {
|
||||
Image image = loadImage(TOAST_IMAGE);
|
||||
Image result = service.detectToastContours(image);
|
||||
Image result = measureTime("Toast outlines", () -> service.detectToastContours(image));
|
||||
view.updateToastContours(result);
|
||||
}
|
||||
|
||||
|
||||
@@ -119,7 +119,30 @@ public class UseCaseService {
|
||||
}
|
||||
|
||||
public Image detectToastContours(Image image) {
|
||||
return extractToastContours(image);
|
||||
Image smoothed = BasicMorphology.opening(image, 3).toImage();
|
||||
GrayScaleMatrix dilated = BasicMorphology.dilation(smoothed, 3);
|
||||
GrayScaleMatrix eroded = BasicMorphology.erosion(smoothed, 3);
|
||||
double[][] dilatedData = dilated.getRawData();
|
||||
double[][] erodedData = eroded.getRawData();
|
||||
double[][] contours = new double[image.getHeight()][image.getWidth()];
|
||||
|
||||
for (int y = 0; y < image.getHeight(); y++) {
|
||||
for (int x = 0; x < image.getWidth(); x++) {
|
||||
contours[y][x] = dilatedData[y][x] - erodedData[y][x];
|
||||
}
|
||||
}
|
||||
|
||||
Image binaryContours = Thresholding.simpleThreshold(new GrayScaleMatrix(contours).toImage(), 40).toImage();
|
||||
|
||||
for (int y = 0; y < image.getHeight(); y++) {
|
||||
for (int x = 0; x < image.getWidth(); x++) {
|
||||
if (binaryContours.getPixel(x, y).grayValue() > 0) {
|
||||
image.setPixelColor(x, y, 0, 255, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return image;
|
||||
}
|
||||
|
||||
private Image equalizeRgb(Image image) {
|
||||
|
||||
Reference in New Issue
Block a user