本文整理汇总了Java中com.google.api.services.vision.v1.model.BatchAnnotateImagesRequest类的典型用法代码示例。如果您正苦于以下问题:Java BatchAnnotateImagesRequest类的具体用法?Java BatchAnnotateImagesRequest怎么用?Java BatchAnnotateImagesRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BatchAnnotateImagesRequest类属于com.google.api.services.vision.v1.model包,在下文中一共展示了BatchAnnotateImagesRequest类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createRequest
import com.google.api.services.vision.v1.model.BatchAnnotateImagesRequest; //导入依赖的package包/类
private BatchAnnotateImagesRequest createRequest() {
ImmutableList.Builder<AnnotateImageRequest> requests = ImmutableList.builder();
requestFiles.forEach(f -> {
requests.add(
new AnnotateImageRequest()
.setImage(new Image().encodeContent(f.getContent()))
.setFeatures(ImmutableList.of(
new Feature()
.setType("TEXT_DETECTION")
.setMaxResults(config.getMaxResult())
))
);
});
return new BatchAnnotateImagesRequest().setRequests(requests.build());
}
示例2: annotateImage
import com.google.api.services.vision.v1.model.BatchAnnotateImagesRequest; //导入依赖的package包/类
/**
* Construct an annotated image request for the provided image to be executed
* using the provided API interface.
*
* @param imageBytes image bytes in JPEG format.
* @return collection of annotation descriptions and scores.
*/
public static Map<String, Float> annotateImage(byte[] imageBytes) throws IOException {
// Construct the Vision API instance
HttpTransport httpTransport = AndroidHttp.newCompatibleTransport();
JsonFactory jsonFactory = GsonFactory.getDefaultInstance();
VisionRequestInitializer initializer = new VisionRequestInitializer(CLOUD_VISION_API_KEY);
Vision vision = new Vision.Builder(httpTransport, jsonFactory, null)
.setVisionRequestInitializer(initializer)
.build();
// Create the image request
AnnotateImageRequest imageRequest = new AnnotateImageRequest();
Image img = new Image();
img.encodeContent(imageBytes);
imageRequest.setImage(img);
// Add the features we want
Feature labelDetection = new Feature();
labelDetection.setType(LABEL_DETECTION);
labelDetection.setMaxResults(MAX_LABEL_RESULTS);
imageRequest.setFeatures(Collections.singletonList(labelDetection));
// Batch and execute the request
BatchAnnotateImagesRequest requestBatch = new BatchAnnotateImagesRequest();
requestBatch.setRequests(Collections.singletonList(imageRequest));
BatchAnnotateImagesResponse response = vision.images()
.annotate(requestBatch)
// Due to a bug: requests to Vision API containing large images fail when GZipped.
.setDisableGZipContent(true)
.execute();
return convertResponseToMap(response);
}
示例3: testTextDetection
import com.google.api.services.vision.v1.model.BatchAnnotateImagesRequest; //导入依赖的package包/类
@Test
public void testTextDetection() throws Exception {
// 認証情報
GoogleCredential credential = GoogleCredential.fromStream(
Files.newInputStream(Paths.get("/tmp/google-cloud-api-service-account.json")))
.createScoped(VisionScopes.all());
// GoogleCredential credential = GoogleCredential.getApplicationDefault().createScoped(VisionScopes.all());
// Google Cloud Vision APIクライアント
Vision vision = new Vision.Builder(GoogleNetHttpTransport.newTrustedTransport(), JacksonFactory.getDefaultInstance(), credential)
.setApplicationName("GoogleVisionApiClient/1.0")
.build();
// 解析対象画像ファイルごとに処理を行う
ImmutableList<String> imageFiles = ImmutableList.<String>of(
"/tmp/sample1.jpg",
"/tmp/sample2.jpg",
"/tmp/sample3.jpg",
"/tmp/sample4.jpg"
);
ImmutableList.Builder<AnnotateImageRequest> requests = ImmutableList.builder();
imageFiles.forEach(f -> {
byte[] data = new byte[0];
try {
data = Files.readAllBytes(Paths.get(f));
requests.add(
new AnnotateImageRequest()
.setImage(new Image().encodeContent(data))
.setFeatures(ImmutableList.of(
new Feature()
.setType("TEXT_DETECTION")
.setMaxResults(1)
))
);
} catch (IOException e) {
e.printStackTrace();
}
});
// 実行
Vision.Images.Annotate annotate =
vision.images().annotate(new BatchAnnotateImagesRequest().setRequests(requests.build()));
annotate.setDisableGZipContent(true);
BatchAnnotateImagesResponse batchResponse = annotate.execute();
batchResponse.getResponses().forEach(response -> {
List<EntityAnnotation> entityAnnotations =
MoreObjects.firstNonNull(response.getTextAnnotations(), ImmutableList.<EntityAnnotation>of());
entityAnnotations.stream()
.findFirst()
.ifPresent(a -> {
System.out.println(a.getDescription());
System.out.println("----------------------------------------------------");
});
});
}