@Override
public void robotinit() {
RF = new RobotFunctions();
chooser.addDefault("Default Auto",defaultAuto);
chooser.addobject("My Auto",customAuto);
SmartDashboard.putData("Auto modes",chooser);
UsbCamera camera = CameraServer.getInstance().startAutomaticCapture();
camera.setResolution(IMG_WIDTH,IMG_HEIGHT);
visionThread = new VisionThread(camera,new grip(),pipeline -> {
if (pipeline.equals(null)) {
Rect r = Imgproc.boundingRect(pipeline.filterContoursOutput().get(0));
synchronized (imgLock) {
centerX = r.x + (r.width / 2);//Find the centre of the X Value
centerY = r.y + (r.height / 2);
rw = r.width;
rh = r.height;
}
}
});
visionThread.start();
}
项目:FRC-2017-Command
文件:Vision.java
public void setUpCamera(){
CameraServer.getInstance().startAutomaticCapture();
camera = CameraServer.getInstance().startAutomaticCapture();
//camera.setResolution(RobotMap.IMG_WIDTH,RobotMap.IMG_HEIGHT);
//camera.setExposureManual(RobotMap.exposure);
visionThread = new VisionThread(camera,new gripPipeline(),pipeline -> {
if (!pipeline.filterContoursOutput().isEmpty()) {
Rect r = Imgproc.boundingRect(pipeline.filterContoursOutput().get(0));
synchronized (imgLock) {
centerX = r.x + (r.width / 2);
}
}
});
}
项目:STEAMworks
文件:VisionTest.java
public Visiontest() {
UsbCamera camera = CameraServer.getInstance().startAutomaticCapture(); // cam0 by default
camera.setResolution(IMG_WIDTH,IMG_HEIGHT);
camera.setBrightness(0);
// camera.setExposureManual(100);
camera.setExposureAuto();
CvSource cs= CameraServer.getInstance().putVideo("name",IMG_WIDTH,pipeline -> {
Mat IMG_MOD = pipeline.hslThresholdOutput();
if (!pipeline.filterContoursOutput().isEmpty()) {
//Rect recCombine = Imgproc.boundingRect(pipeline.filterContoursOutput().get(0));
Rect recCombine = computeBoundingRectangle(pipeline.filterContoursOutput());
if (recCombine == null) {
targetDetected = false;
return;
}
targetDetected = true;
computeCoords(recCombine);
synchronized (imgLock) {
centerX = recCombine.x + (recCombine.width / 2);
}
Imgproc.rectangle(IMG_MOD,new Point(recCombine.x,recCombine.y),new Point(recCombine.x + recCombine.width,recCombine.y + recCombine.height),new Scalar(255,20,0),5);
} else {
targetDetected = false;
}
cs.putFrame(IMG_MOD);
});
visionThread.start();
Relay relay = new Relay(RobotMap.RELAY_CHANNEL,Direction.kForward);
relay.set(Relay.Value.kOn);
//this.processImage();
}
@Override
public void robotinit() {
chooser.addDefault("Default Auto",chooser);
UsbCamera camera = CameraServer.getInstance().startAutomaticCapture();
camera.setResolution(IMG_WIDTH,IMG_HEIGHT);
visionThread = new VisionThread(Camera,new mar4grip(),Pipeline -> {
if (Pipeline.filterContoursOutput().isEmpty()) {
Rect r = Imgproc.boundingRect(Pipeline.findContoursOutput().get(0));
centerX = r.x + (r.width / 2);
}
});
}
@Override
public void robotinit() {
chooser.addDefault("Default Auto",defaultAuto);
chooser.addobject("My Auto",customAuto);
SmartDashboard.putData("Auto modes",chooser);
UsbCamera camera = CameraServer.getInstance().startAutomaticCapture();
camera.setResolution(IMG_WIDTH,IMG_HEIGHT);
visionThread = new VisionThread(Camera,new grippipeline(),pipeline -> {
if (!pipeline.filterContoursOutput().isEmpty()) {
Rect r = Imgproc.boundingRect(pipeline.findContoursOutput().get(0));
centerX = r.x + (r.width / 2);
}
});
}
项目:turtleshell
文件:BlastoiseShooterVision.java
/**
* Instantiates BlastoiseVision with a VideoSource object.
* This method is not recommended to be used directly,use one of the others instead.
* @param videoSource
*/
public BlastoiseShooterVision(VideoSource videoSource) {
this.videoSource = videoSource;
videoSource.setResolution(Constants.ShooterVision.Camera.WIDTH_PX,Constants.ShooterVision.Camera.HEIGHT_PX);
VisionThread visionThread = new VisionThread(videoSource,new DetectTargetPipeline(),pipeline -> {
synchronized (lock) {
processContours(pipeline.filterContours0Output());
}
});
visionThread.start();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。