diff --git a/src/main/java/com/cringe_studios/christmastreescanning/scanning/ImageScanner.java b/src/main/java/com/cringe_studios/christmastreescanning/scanning/ImageScanner.java index 00e1276..b1fe14b 100644 --- a/src/main/java/com/cringe_studios/christmastreescanning/scanning/ImageScanner.java +++ b/src/main/java/com/cringe_studios/christmastreescanning/scanning/ImageScanner.java @@ -33,7 +33,7 @@ public class ImageScanner { // The following line might be incorrect; TODO double check and write a test Point2D brightPoints[] = brightSpots.stream() - .map(s -> new Point2D.Double(s.intValue() % grayScaleImage.getWidth(), s.intValue() / grayScaleImage.getWidth())) + .map(s -> new Point2D.Double(s.intValue() % grayScaleImage.getWidth(), s.intValue() / grayScaleImage.getWidth())) // https://softwareengineering.stackexchange.com/questions/212808/treating-a-1d-data-structure-as-2d-grid .toArray(Point2D.Double[]::new); Point2D brightestSpot = new PointInterpolator(brightPoints).getCenter(); @@ -56,16 +56,18 @@ public class ImageScanner { double BRdistance = brightestBlueSpot.distanceSq(brightestRedSpot); PointInterpolator brightestSpot; + + brightestSpot = new PointInterpolator(brightestRedSpot); - // Get the center between the two closest points; a better implementation would - // work with a confidentnes-value - if (RGdistance < GBdistance && RGdistance < BRdistance) { - brightestSpot = new PointInterpolator(brightestRedSpot, brightestGreenSpot); - } else if (GBdistance < RGdistance && GBdistance < BRdistance) { - brightestSpot = new PointInterpolator(brightestGreenSpot, brightestBlueSpot); - } else { - brightestSpot = new PointInterpolator(brightestBlueSpot, brightestRedSpot); - } +// // Get the center between the two closest points; a better implementation would +// // work on a confidentnes-value +// if (RGdistance < GBdistance && RGdistance < BRdistance) { +// brightestSpot = new PointInterpolator(brightestRedSpot, brightestGreenSpot); +// } else if (GBdistance < RGdistance && GBdistance < BRdistance) { +// brightestSpot = new PointInterpolator(brightestGreenSpot, brightestBlueSpot); +// } else { +// brightestSpot = new PointInterpolator(brightestBlueSpot, brightestRedSpot); +// } return brightestSpot.getCenter(); } diff --git a/src/main/java/com/cringe_studios/christmastreescanning/scanning/PointInterpolator.java b/src/main/java/com/cringe_studios/christmastreescanning/scanning/PointInterpolator.java index dac4b26..ece5c0e 100644 --- a/src/main/java/com/cringe_studios/christmastreescanning/scanning/PointInterpolator.java +++ b/src/main/java/com/cringe_studios/christmastreescanning/scanning/PointInterpolator.java @@ -10,8 +10,8 @@ public class PointInterpolator { } Point2D getCenter() { - int xSum = 0; - int ySum = 0; + double xSum = 0; + double ySum = 0; for(int i = 0; i < points.length; i++) { xSum += points[i].getX();