blob: 6ab6455c755c34d50daf0094bab0e9137d47138a [file] [log] [blame]
jerrym6ebe6452013-02-18 03:00:31 +00001package org.frc971;
2
3import edu.wpi.first.wpijavacv.WPIColorImage;
4import edu.wpi.first.wpijavacv.WPIImage;
5
6/**
7 * Vision target recognizer.
8 *
9 * @author jerry
10 */
11public interface Recognizer {
jerrymcd2c3322013-02-18 08:49:01 +000012
13 /**
14 * Sets the HSV filter to allow H in [minHue .. maxHue], S >= minSat,
15 * V >= minVal.
16 */
jerrymf96c32c2013-02-18 19:30:45 +000017 void setHSVRange(int minHue, int maxHue, int minSat, int minVal);
jerrymcd2c3322013-02-18 08:49:01 +000018
jerrymf96c32c2013-02-18 19:30:45 +000019 int getHueMin();
20 int getHueMax();
21 int getSatMin();
22 int getValMin();
23
24 /** Enables/disables windows to view intermediate stages, for tuning. */
25 void showIntermediateStages(boolean enable);
jerrymcd2c3322013-02-18 08:49:01 +000026
jerrym6ebe6452013-02-18 03:00:31 +000027 /**
28 * Processes a camera image, returning an image to display for targeting
29 * and debugging, e.g. with cross-hairs and marked targets.
30 *<p>
31 * SIDE EFFECTS: May modify cameraImage.
32 */
33 WPIImage processImage(WPIColorImage cameraImage);
34}