-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCameraTester.java
More file actions
91 lines (76 loc) · 3.64 KB
/
CameraTester.java
File metadata and controls
91 lines (76 loc) · 3.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package org.firstinspires.ftc.teamcode;
import com.qualcomm.robotcore.eventloop.opmode.LinearOpMode;
import org.firstinspires.ftc.robotcore.external.hardware.camera.Camera;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import java.util.List;
import org.opencv.core.Point;
@TeleOp
public class CameraTester extends LinearOpMode {
@Override
public void runOpMode()
{
telemetry.addData("State", "starting");
telemetry.update();
CameraColorSensor colorSensor = new CameraColorSensor ("Webcam", hardwareMap, this);
// set up configuration parameters
colorSensor.UsingWebcam = false;
colorSensor.RegionTopLeft[0] = new Point(10, 198);
colorSensor.RegionTopLeft[1] = new Point(210, 10);
colorSensor.RegionTopLeft[2] = new Point(400, 50);
colorSensor.RegionWidth = 200;
colorSensor.RegionHeight = 120;
telemetry.addData("State", "waiting");
telemetry.update();
int count = 0;
while (!colorSensor.isCameraInitialized()) {
sleep(100);
telemetry.addData("Count", count++);
telemetry.update();
}
telemetry.addData("State", "initialized");
telemetry.update();
int x = 20;
while (x < 20)
{
// print any telemetry data from the camera
List<CameraColorSensor.TelemetryData> telemetryList = colorSensor.getTelemetryData();
for (CameraColorSensor.TelemetryData data : telemetryList)
{
telemetry.addData(data.caption, data.object);
}
telemetry.update();
sleep(100);
}
waitForStart();
while (opModeIsActive())
{
CameraColorSensor.Color_Enum color = CameraColorSensor.Color_Enum.Color_None;
if (colorSensor.isRegionGreen(0)) color = CameraColorSensor.Color_Enum.Color_Green;
else if (colorSensor.isRegionYellow(0)) color = CameraColorSensor.Color_Enum.Color_Yellow;
else if (colorSensor.isRegionRed(0)) color = CameraColorSensor.Color_Enum.Color_Red;
else if (colorSensor.isRegionBlue(0)) color = CameraColorSensor.Color_Enum.Color_Blue;
else color = CameraColorSensor.Color_Enum.Color_None;
telemetry.addData("Region 0", color);
if (colorSensor.isRegionGreen(1)) color = CameraColorSensor.Color_Enum.Color_Green;
else if (colorSensor.isRegionYellow(1)) color = CameraColorSensor.Color_Enum.Color_Yellow;
else if (colorSensor.isRegionRed(1)) color = CameraColorSensor.Color_Enum.Color_Red;
else if (colorSensor.isRegionBlue(1)) color = CameraColorSensor.Color_Enum.Color_Blue;
else color = CameraColorSensor.Color_Enum.Color_None;
telemetry.addData("Region 1", color);
if (colorSensor.isRegionGreen(2)) color = CameraColorSensor.Color_Enum.Color_Green;
else if (colorSensor.isRegionYellow(2)) color = CameraColorSensor.Color_Enum.Color_Yellow;
else if (colorSensor.isRegionRed(2)) color = CameraColorSensor.Color_Enum.Color_Red;
else if (colorSensor.isRegionBlue(2)) color = CameraColorSensor.Color_Enum.Color_Blue;
else color = CameraColorSensor.Color_Enum.Color_None;
telemetry.addData("Region 2", color);
// print any telemetry data from the camera
List<CameraColorSensor.TelemetryData> telemetryList = colorSensor.getTelemetryData();
for (CameraColorSensor.TelemetryData data : telemetryList)
{
telemetry.addData(data.caption, data.object);
}
telemetry.update();
sleep(100);
}
}
}