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