diff --git a/.gitignore b/.gitignore
index 42afabf..0bfbf45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
-/build
\ No newline at end of file
+/build
+/.idea/
+/.gradle/
\ No newline at end of file
diff --git a/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock b/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock
deleted file mode 100644
index ea5b03a..0000000
Binary files a/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock and /dev/null differ
diff --git a/.gradle/7.2/dependencies-accessors/gc.properties b/.gradle/7.2/dependencies-accessors/gc.properties
deleted file mode 100644
index e69de29..0000000
diff --git a/.gradle/7.2/fileChanges/last-build.bin b/.gradle/7.2/fileChanges/last-build.bin
deleted file mode 100644
index f76dd23..0000000
Binary files a/.gradle/7.2/fileChanges/last-build.bin and /dev/null differ
diff --git a/.gradle/7.2/fileHashes/fileHashes.lock b/.gradle/7.2/fileHashes/fileHashes.lock
deleted file mode 100644
index 7aefe77..0000000
Binary files a/.gradle/7.2/fileHashes/fileHashes.lock and /dev/null differ
diff --git a/.gradle/7.2/gc.properties b/.gradle/7.2/gc.properties
deleted file mode 100644
index e69de29..0000000
diff --git a/.gradle/7.3.3/checksums/checksums.lock b/.gradle/7.3.3/checksums/checksums.lock
deleted file mode 100644
index 5f37925..0000000
Binary files a/.gradle/7.3.3/checksums/checksums.lock and /dev/null differ
diff --git a/.gradle/7.3.3/checksums/md5-checksums.bin b/.gradle/7.3.3/checksums/md5-checksums.bin
deleted file mode 100644
index 143bb19..0000000
Binary files a/.gradle/7.3.3/checksums/md5-checksums.bin and /dev/null differ
diff --git a/.gradle/7.3.3/checksums/sha1-checksums.bin b/.gradle/7.3.3/checksums/sha1-checksums.bin
deleted file mode 100644
index ef95925..0000000
Binary files a/.gradle/7.3.3/checksums/sha1-checksums.bin and /dev/null differ
diff --git a/.gradle/7.3.3/dependencies-accessors/dependencies-accessors.lock b/.gradle/7.3.3/dependencies-accessors/dependencies-accessors.lock
deleted file mode 100644
index 8891dca..0000000
Binary files a/.gradle/7.3.3/dependencies-accessors/dependencies-accessors.lock and /dev/null differ
diff --git a/.gradle/7.3.3/dependencies-accessors/gc.properties b/.gradle/7.3.3/dependencies-accessors/gc.properties
deleted file mode 100644
index e69de29..0000000
diff --git a/.gradle/7.3.3/executionHistory/executionHistory.bin b/.gradle/7.3.3/executionHistory/executionHistory.bin
deleted file mode 100644
index f09b039..0000000
Binary files a/.gradle/7.3.3/executionHistory/executionHistory.bin and /dev/null differ
diff --git a/.gradle/7.3.3/executionHistory/executionHistory.lock b/.gradle/7.3.3/executionHistory/executionHistory.lock
deleted file mode 100644
index 7748d35..0000000
Binary files a/.gradle/7.3.3/executionHistory/executionHistory.lock and /dev/null differ
diff --git a/.gradle/7.3.3/fileChanges/last-build.bin b/.gradle/7.3.3/fileChanges/last-build.bin
deleted file mode 100644
index f76dd23..0000000
Binary files a/.gradle/7.3.3/fileChanges/last-build.bin and /dev/null differ
diff --git a/.gradle/7.3.3/fileHashes/fileHashes.bin b/.gradle/7.3.3/fileHashes/fileHashes.bin
deleted file mode 100644
index dff0813..0000000
Binary files a/.gradle/7.3.3/fileHashes/fileHashes.bin and /dev/null differ
diff --git a/.gradle/7.3.3/fileHashes/fileHashes.lock b/.gradle/7.3.3/fileHashes/fileHashes.lock
deleted file mode 100644
index 0cb8aa7..0000000
Binary files a/.gradle/7.3.3/fileHashes/fileHashes.lock and /dev/null differ
diff --git a/.gradle/7.3.3/fileHashes/resourceHashesCache.bin b/.gradle/7.3.3/fileHashes/resourceHashesCache.bin
deleted file mode 100644
index 55f7e04..0000000
Binary files a/.gradle/7.3.3/fileHashes/resourceHashesCache.bin and /dev/null differ
diff --git a/.gradle/7.3.3/gc.properties b/.gradle/7.3.3/gc.properties
deleted file mode 100644
index e69de29..0000000
diff --git a/.gradle/8.0/checksums/checksums.lock b/.gradle/8.0/checksums/checksums.lock
deleted file mode 100644
index 5edeb19..0000000
Binary files a/.gradle/8.0/checksums/checksums.lock and /dev/null differ
diff --git a/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock b/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock
deleted file mode 100644
index 3f52bf4..0000000
Binary files a/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock and /dev/null differ
diff --git a/.gradle/8.0/dependencies-accessors/gc.properties b/.gradle/8.0/dependencies-accessors/gc.properties
deleted file mode 100644
index e69de29..0000000
diff --git a/.gradle/8.0/executionHistory/executionHistory.bin b/.gradle/8.0/executionHistory/executionHistory.bin
deleted file mode 100644
index 566b503..0000000
Binary files a/.gradle/8.0/executionHistory/executionHistory.bin and /dev/null differ
diff --git a/.gradle/8.0/executionHistory/executionHistory.lock b/.gradle/8.0/executionHistory/executionHistory.lock
deleted file mode 100644
index b2e6035..0000000
Binary files a/.gradle/8.0/executionHistory/executionHistory.lock and /dev/null differ
diff --git a/.gradle/8.0/fileChanges/last-build.bin b/.gradle/8.0/fileChanges/last-build.bin
deleted file mode 100644
index f76dd23..0000000
Binary files a/.gradle/8.0/fileChanges/last-build.bin and /dev/null differ
diff --git a/.gradle/8.0/fileHashes/fileHashes.bin b/.gradle/8.0/fileHashes/fileHashes.bin
deleted file mode 100644
index 8229ab9..0000000
Binary files a/.gradle/8.0/fileHashes/fileHashes.bin and /dev/null differ
diff --git a/.gradle/8.0/fileHashes/fileHashes.lock b/.gradle/8.0/fileHashes/fileHashes.lock
deleted file mode 100644
index 954976e..0000000
Binary files a/.gradle/8.0/fileHashes/fileHashes.lock and /dev/null differ
diff --git a/.gradle/8.0/gc.properties b/.gradle/8.0/gc.properties
deleted file mode 100644
index e69de29..0000000
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
deleted file mode 100644
index f7acfc0..0000000
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and /dev/null differ
diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties
deleted file mode 100644
index 313dedf..0000000
--- a/.gradle/buildOutputCleanup/cache.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-#Mon Feb 19 16:57:38 CST 2024
-gradle.version=7.3.3
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
deleted file mode 100644
index 69f1459..0000000
Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and /dev/null differ
diff --git a/.gradle/checksums/checksums.lock b/.gradle/checksums/checksums.lock
deleted file mode 100644
index 0f75131..0000000
Binary files a/.gradle/checksums/checksums.lock and /dev/null differ
diff --git a/.gradle/config.properties b/.gradle/config.properties
deleted file mode 100644
index e139ac7..0000000
--- a/.gradle/config.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-#Mon Feb 19 16:32:55 CST 2024
-java.home=/Applications/Android Studio.app/Contents/jbr/Contents/Home
diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe
deleted file mode 100644
index d789076..0000000
Binary files a/.gradle/file-system.probe and /dev/null differ
diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties
deleted file mode 100644
index e69de29..0000000
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index b589d56..0000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
deleted file mode 100644
index 7878042..0000000
--- a/.idea/gradle.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/migrations.xml b/.idea/migrations.xml
deleted file mode 100644
index f8051a6..0000000
--- a/.idea/migrations.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 0ad17cb..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 35eb1dd..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
deleted file mode 100644
index 4580e8a..0000000
--- a/.idea/workspace.xml
+++ /dev/null
@@ -1,258 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- true
- false
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- true
- false
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- true
- false
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- true
- false
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- true
- true
- false
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1708378418555
-
-
- 1708378418555
-
-
-
-
\ No newline at end of file
diff --git a/src/main/java/com/tearabite/ftctearabits/vision/BasicColorDetectionVisionProcessor.java b/src/main/java/com/tearabite/ftctearabits/vision/BasicColorDetectionVisionProcessor.java
index a6b98b9..9330f95 100644
--- a/src/main/java/com/tearabite/ftctearabits/vision/BasicColorDetectionVisionProcessor.java
+++ b/src/main/java/com/tearabite/ftctearabits/vision/BasicColorDetectionVisionProcessor.java
@@ -1,5 +1,8 @@
package com.tearabite.ftctearabits.vision;
+import static com.tearabite.ftctearabits.vision.Colors.FTC_BLUE_RANGE;
+import static com.tearabite.ftctearabits.vision.Colors.FTC_RED_RANGE_1;
+import static com.tearabite.ftctearabits.vision.Colors.FTC_RED_RANGE_2;
import static com.tearabite.ftctearabits.vision.Colors.WHITE;
import static com.tearabite.ftctearabits.vision.OpenCVUtil.getLargestContour;
@@ -17,6 +20,7 @@ import org.opencv.imgproc.Imgproc;
import java.util.ArrayList;
import lombok.Getter;
+import lombok.Setter;
public class BasicColorDetectionVisionProcessor implements VisionProcessor {
public static final Size BLUR_SIZE = new Size(7, 7);
@@ -25,24 +29,29 @@ public class BasicColorDetectionVisionProcessor implements VisionProcessor {
public static final Point ANCHOR = new Point((STRUCTURING_ELEMENT.cols() / 2f), STRUCTURING_ELEMENT.rows() / 2f);
private final Mat blurred = new Mat();
- private final ScalarRange[] colorRanges;
+ @Getter @Setter private ScalarRange[] colorRanges;
@Getter private Detection detection;
private final Mat hsv = new Mat();
- private final double ignoreSmallerThan;
- private final double ignoreLargerThan;
private final Mat mask = new Mat();
private final Mat tmpMask = new Mat();
- public BasicColorDetectionVisionProcessor(double ignoreSmallerThan, double ignoreLargerThan, ScalarRange... colorRanges) {
- this.ignoreSmallerThan = ignoreSmallerThan;
- this.ignoreLargerThan = ignoreLargerThan;
+ public BasicColorDetectionVisionProcessor(ScalarRange... colorRanges) {
+
this.colorRanges = colorRanges;
}
+ public static BasicColorDetectionVisionProcessor Blue() {
+ return new BasicColorDetectionVisionProcessor(FTC_BLUE_RANGE);
+ }
+
+ public static BasicColorDetectionVisionProcessor Red() {
+ return new BasicColorDetectionVisionProcessor(FTC_RED_RANGE_1, FTC_RED_RANGE_2);
+ }
+
@Override
public void init(int width, int height, CameraCalibration calibration) {
- this.detection = new Detection(new Size(width, height), ignoreSmallerThan, ignoreLargerThan);
+ this.detection = new Detection(new Size(width, height), 0, 0);
}
@Override
@@ -76,4 +85,20 @@ public class BasicColorDetectionVisionProcessor implements VisionProcessor {
canvas.drawCircle((float) center.x, (float) center.y, 10, WHITE);
}
}
+
+ public double getIgnoreSmallerThan() {
+ return this.detection.getIgnoreSmallerThan();
+ }
+
+ public void setIgnoreSmallerThan(double ignoreSmallerThan) {
+ this.detection.setIgnoreSmallerThan(ignoreSmallerThan);
+ }
+
+ public double getIgnoreLargerThan() {
+ return this.detection.getIgnoreLargerThan();
+ }
+
+ public void setIgnoreLargerThan(double ignoreLargerThan) {
+ this.detection.setIgnoreLargerThan(ignoreLargerThan);
+ }
}
\ No newline at end of file
diff --git a/src/main/java/com/tearabite/ftctearabits/vision/Detection.java b/src/main/java/com/tearabite/ftctearabits/vision/Detection.java
index ccb0aa3..81503a6 100644
--- a/src/main/java/com/tearabite/ftctearabits/vision/Detection.java
+++ b/src/main/java/com/tearabite/ftctearabits/vision/Detection.java
@@ -8,6 +8,8 @@ import static com.tearabite.ftctearabits.vision.OpenCVUtil.getBottomLeftOfContou
import static com.tearabite.ftctearabits.vision.OpenCVUtil.getBottomRightOfContour;
import static com.tearabite.ftctearabits.vision.OpenCVUtil.getCenterOfContour;
+import android.graphics.drawable.Icon;
+
import org.opencv.core.Mat;
import org.opencv.core.MatOfPoint;
import org.opencv.core.Point;
@@ -130,4 +132,20 @@ public class Detection {
public Point getBottomRightCornerPx() {
return bottomRightPx;
}
+
+ public void setIgnoreSmallerThan(double ignoreSmallerThan) {
+ this.minAreaPx = maxSizePx.area() * ignoreSmallerThan;
+ }
+
+ public void setIgnoreLargerThan(double ignoreLargerThan) {
+ this.minAreaPx = maxSizePx.area() * ignoreLargerThan;
+ }
+
+ public double getIgnoreSmallerThan() {
+ return this.minAreaPx / this.maxSizePx.area();
+ }
+
+ public double getIgnoreLargerThan() {
+ return this.maxAreaPx / this.maxSizePx.area();
+ }
}
\ No newline at end of file