package org.usfirst.frc.team1778.robot.camera;
import edu.wpi.first.wpilibj.image.BinaryImage;
import edu.wpi.first.wpilibj.image.ColorImage;
import edu.wpi.first.wpilibj.image.NIVisionException;
import edu.wpi.first.wpilibj.vision.AxisCamera;
public class Camera {
public AxisCamera camera;
public String address;
public ColorImage lastImage;
public final int LOW_FILTER_THRESHOLD[] = {};
public final int HIGH_FILTER_THRESHOLD[] = {};
public Camera(String address) {
this.address = address;
this.camera = new AxisCamera(address);
}
public ColorImage getImage() {
ColorImage image = null;
try {
image = camera.getImage();
} catch (NIVisionException e) {
e.printStackTrace();
}
if(image != null) lastImage = image;
return image;
}
public BinaryImage filterImage(ColorImage image) {
int redLow = LOW_FILTER_THRESHOLD[0];
int redHigh = HIGH_FILTER_THRESHOLD[0];
int greenLow = LOW_FILTER_THRESHOLD[1];
int greenHigh = HIGH_FILTER_THRESHOLD[1];
int blueLow = LOW_FILTER_THRESHOLD[2];
int blueHigh = HIGH_FILTER_THRESHOLD[2];
try {
return image.thresholdRGB(redLow, redHigh, greenLow, greenHigh, blueLow, blueHigh);
} catch (NIVisionException e) {
e.printStackTrace();
}
return null;
}
}