use of software.amazon.awssdk.services.rekognition.model.GetLabelDetectionRequest in project aws-doc-sdk-examples by awsdocs.
the class VideoDetect method startLabels.
// snippet-start:[rekognition.java2.recognize_video_detect.main]
public static void startLabels(RekognitionClient rekClient, NotificationChannel channel, String bucket, String video) {
try {
S3Object s3Obj = S3Object.builder().bucket(bucket).name(video).build();
Video vidOb = Video.builder().s3Object(s3Obj).build();
StartLabelDetectionRequest labelDetectionRequest = StartLabelDetectionRequest.builder().jobTag("DetectingLabels").notificationChannel(channel).video(vidOb).minConfidence(50F).build();
StartLabelDetectionResponse labelDetectionResponse = rekClient.startLabelDetection(labelDetectionRequest);
startJobId = labelDetectionResponse.jobId();
boolean ans = true;
String status = "";
int yy = 0;
while (ans) {
GetLabelDetectionRequest detectionRequest = GetLabelDetectionRequest.builder().jobId(startJobId).maxResults(10).build();
GetLabelDetectionResponse result = rekClient.getLabelDetection(detectionRequest);
status = result.jobStatusAsString();
if (status.compareTo("SUCCEEDED") == 0)
ans = false;
else
System.out.println(yy + " status is: " + status);
Thread.sleep(1000);
yy++;
}
System.out.println(startJobId + " status is: " + status);
} catch (RekognitionException | InterruptedException e) {
e.getMessage();
System.exit(1);
}
}
use of software.amazon.awssdk.services.rekognition.model.GetLabelDetectionRequest in project aws-doc-sdk-examples by awsdocs.
the class VideoDetect method GetResultsLabels.
// Gets the job results by calling GetLabelDetection
private static void GetResultsLabels(RekognitionClient rekClient) {
int maxResults = 10;
String paginationToken = null;
GetLabelDetectionResponse labelDetectionResult = null;
try {
do {
if (labelDetectionResult != null)
paginationToken = labelDetectionResult.nextToken();
GetLabelDetectionRequest labelDetectionRequest = GetLabelDetectionRequest.builder().jobId(startJobId).sortBy(LabelDetectionSortBy.TIMESTAMP).maxResults(maxResults).nextToken(paginationToken).build();
labelDetectionResult = rekClient.getLabelDetection(labelDetectionRequest);
VideoMetadata videoMetaData = labelDetectionResult.videoMetadata();
System.out.println("Format: " + videoMetaData.format());
System.out.println("Codec: " + videoMetaData.codec());
System.out.println("Duration: " + videoMetaData.durationMillis());
System.out.println("FrameRate: " + videoMetaData.frameRate());
List<LabelDetection> detectedLabels = labelDetectionResult.labels();
for (LabelDetection detectedLabel : detectedLabels) {
long seconds = detectedLabel.timestamp();
Label label = detectedLabel.label();
System.out.println("Millisecond: " + Long.toString(seconds) + " ");
System.out.println(" Label:" + label.name());
System.out.println(" Confidence:" + detectedLabel.label().confidence().toString());
List<Instance> instances = label.instances();
System.out.println(" Instances of " + label.name());
if (instances.isEmpty()) {
System.out.println(" " + "None");
} else {
for (Instance instance : instances) {
System.out.println(" Confidence: " + instance.confidence().toString());
System.out.println(" Bounding box: " + instance.boundingBox().toString());
}
}
System.out.println(" Parent labels for " + label.name() + ":");
List<Parent> parents = label.parents();
if (parents.isEmpty()) {
System.out.println(" None");
} else {
for (Parent parent : parents) {
System.out.println(" " + parent.name());
}
}
System.out.println();
}
} while (labelDetectionResult != null && labelDetectionResult.nextToken() != null);
} catch (RekognitionException e) {
e.getMessage();
System.exit(1);
}
}
Aggregations