Skip to main content 首页 创作者 beko2210 firstbrain azure-ai-vision-imageanalysis-java
azure-ai-vision-imageanalysis-java Build image analysis applications with Azure AI Vision SDK for Java. Use when implementing image captioning, OCR text extraction, object detection, tagging, or smart cropping.
跳到安装 Skills Marketplace 发现并探索由社区构建的 Agent Skills
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/BEKO2210/Firstbrain --skill azure-ai-vision-imageanalysis-java命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
下载 Zip 下载中... name azure-ai-vision-imageanalysis-java description Build image analysis applications with Azure AI Vision SDK for Java. Use when implementing image captioning, OCR text extraction, object detection, tagging, or smart cropping. type skill created 2026-02-27T00:00:00.000Z domain ai-ml category computer-vision risk unknown source community tags ["skill","ai-ml","computer-vision","azure","vision","imageanalysis"]
Azure AI Vision Image Analysis SDK for Java
Build image analysis applications using the Azure AI Vision Image Analysis SDK for Java.
Installation
<dependency >
<groupId > com.azure</groupId >
<artifactId > azure-ai-vision-imageanalysis</artifactId >
<version > 1.1.0-beta.1</version >
</dependency >
Client Creation
With API Key
import com.azure.ai.vision.imageanalysis.ImageAnalysisClient;
import com.azure.ai.vision.imageanalysis.ImageAnalysisClientBuilder;
import com.azure.core.credential.KeyCredential;
String endpoint = System.getenv("VISION_ENDPOINT" );
String key = System.getenv("VISION_KEY" );
ImageAnalysisClient client = new ImageAnalysisClientBuilder ()
.endpoint(endpoint)
.credential(new KeyCredential (key))
.buildClient();
Async Client
import com.azure.ai.vision.imageanalysis.ImageAnalysisAsyncClient;
ImageAnalysisAsyncClient asyncClient = new ImageAnalysisClientBuilder ()
.endpoint(endpoint)
.credential(new KeyCredential (key))
.buildAsyncClient();
With DefaultAzureCredential import com.azure.identity.DefaultAzureCredentialBuilder;
ImageAnalysisClient client = new ImageAnalysisClientBuilder ()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder ().build())
.buildClient();
Visual Features Feature Description CAPTIONGenerate human-readable image description DENSE_CAPTIONSCaptions for up to 10 regions READOCR - Extract text from images TAGSContent tags for objects, scenes, actions OBJECTSDetect objects with bounding boxes SMART_CROPSSmart thumbnail regions PEOPLEDetect people with locations
Core Patterns
Generate Caption import com.azure.ai.vision.imageanalysis.models.*;
import com.azure.core.util.BinaryData;
import java.io.File;
import java.util.Arrays;
BinaryData imageData = BinaryData.fromFile(new File ("image.jpg" ).toPath());
ImageAnalysisResult result = client.analyze(
imageData,
Arrays.asList(VisualFeatures.CAPTION),
new ImageAnalysisOptions ().setGenderNeutralCaption(true ));
System.out.printf("Caption: \"%s\" (confidence: %.4f)%n" ,
result.getCaption().getText(),
result.getCaption().getConfidence());
Generate Caption from URL ImageAnalysisResult result = client.analyzeFromUrl(
"https://example.com/image.jpg" ,
Arrays.asList(VisualFeatures.CAPTION),
new ImageAnalysisOptions ().setGenderNeutralCaption(true ));
System.out.printf("Caption: \"%s\"%n" , result.getCaption().getText());
Extract Text (OCR) ImageAnalysisResult result = client.analyze(
BinaryData.fromFile(new File ("document.jpg" ).toPath()),
Arrays.asList(VisualFeatures.READ),
null );
for (DetectedTextBlock block : result.getRead().getBlocks()) {
for (DetectedTextLine line : block.getLines()) {
System.out.printf("Line: '%s'%n" , line.getText());
System.out.printf(" Bounding polygon: %s%n" , line.getBoundingPolygon());
for (DetectedTextWord word : line.getWords()) {
System.out.printf(" Word: '%s' (confidence: %.4f)%n" ,
word.getText(),
word.getConfidence());
}
}
}
Detect Objects ImageAnalysisResult result = client.analyzeFromUrl(
imageUrl,
Arrays.asList(VisualFeatures.OBJECTS),
null );
for (DetectedObject obj : result.getObjects()) {
System.out.printf("Object: %s (confidence: %.4f)%n" ,
obj.getTags().get(0 ).getName(),
obj.getTags().get(0 ).getConfidence());
ImageBoundingBox box = obj.getBoundingBox();
System.out.printf(" Location: x=%d, y=%d, w=%d, h=%d%n" ,
box.getX(), box.getY(), box.getWidth(), box.getHeight());
}
Get Tags ImageAnalysisResult result = client.analyzeFromUrl(
imageUrl,
Arrays.asList(VisualFeatures.TAGS),
null );
for (DetectedTag tag : result.getTags()) {
System.out.printf("Tag: %s (confidence: %.4f)%n" ,
tag.getName(),
tag.getConfidence());
}
Detect People ImageAnalysisResult result = client.analyzeFromUrl(
imageUrl,
Arrays.asList(VisualFeatures.PEOPLE),
null );
for (DetectedPerson person : result.getPeople()) {
ImageBoundingBox box = person.getBoundingBox();
System.out.printf("Person at x=%d, y=%d (confidence: %.4f)%n" ,
box.getX(), box.getY(), person.getConfidence());
}
Smart Cropping ImageAnalysisResult result = client.analyzeFromUrl(
imageUrl,
Arrays.asList(VisualFeatures.SMART_CROPS),
new ImageAnalysisOptions ().setSmartCropsAspectRatios(Arrays.asList(1.0 , 1.5 )));
for (CropRegion crop : result.getSmartCrops()) {
System.out.printf("Crop region: aspect=%.2f, x=%d, y=%d, w=%d, h=%d%n" ,
crop.getAspectRatio(),
crop.getBoundingBox().getX(),
crop.getBoundingBox().getY(),
crop.getBoundingBox().getWidth(),
crop.getBoundingBox().getHeight());
}
Dense Captions ImageAnalysisResult result = client.analyzeFromUrl(
imageUrl,
Arrays.asList(VisualFeatures.DENSE_CAPTIONS),
new ImageAnalysisOptions ().setGenderNeutralCaption(true ));
for (DenseCaption caption : result.getDenseCaptions()) {
System.out.printf("Caption: \"%s\" (confidence: %.4f)%n" ,
caption.getText(),
caption.getConfidence());
System.out.printf(" Region: x=%d, y=%d, w=%d, h=%d%n" ,
caption.getBoundingBox().getX(),
caption.getBoundingBox().getY(),
caption.getBoundingBox().getWidth(),
caption.getBoundingBox().getHeight());
}
Multiple Features ImageAnalysisResult result = client.analyzeFromUrl(
imageUrl,
Arrays.asList(
VisualFeatures.CAPTION,
VisualFeatures.TAGS,
VisualFeatures.OBJECTS,
VisualFeatures.READ),
new ImageAnalysisOptions ()
.setGenderNeutralCaption(true )
.setLanguage("en" ));
System.out.println("Caption: " + result.getCaption().getText());
System.out.println("Tags: " + result.getTags().size());
System.out.println("Objects: " + result.getObjects().size());
System.out.println("Text blocks: " + result.getRead().getBlocks().size());
Async Analysis asyncClient.analyzeFromUrl(
imageUrl,
Arrays.asList(VisualFeatures.CAPTION),
null )
.subscribe(
result -> System.out.println("Caption: " + result.getCaption().getText()),
error -> System.err.println("Error: " + error.getMessage()),
() -> System.out.println("Complete" )
);
Error Handling import com.azure.core.exception.HttpResponseException;
try {
client.analyzeFromUrl(imageUrl, Arrays.asList(VisualFeatures.CAPTION), null );
} catch (HttpResponseException e) {
System.out.println("Status: " + e.getResponse().getStatusCode());
System.out.println("Error: " + e.getMessage());
}
Environment Variables VISION_ENDPOINT=https://<resource>.cognitiveservices.azure.com/
VISION_KEY=<your-api-key>
Image Requirements
Formats: JPEG, PNG, GIF, BMP, WEBP, ICO, TIFF, MPO
Size: < 20 MB
Dimensions: 50x50 to 16000x16000 pixels
Regional Availability Caption and Dense Captions require GPU-supported regions. Check supported regions before deployment.
Trigger Phrases
"image analysis Java"
"Azure Vision SDK"
"image captioning"
"OCR image text extraction"
"object detection image"
"smart crop thumbnail"
"detect people image"
When to Use This skill is applicable to execute the workflow or actions described in the overview.
Connections
Domain: [[KI & Machine Learning]]
Kategorie: [[Computer Vision]]
Navigation: [[Skills Uebersicht]], [[Home]]