CognitiveJ —— Java 的图像分析库,cognitivejjava
分享于 点击 7316 次 点评:264
CognitiveJ —— Java 的图像分析库,cognitivejjava

人脸识别
- 人脸检测– 捕获脸部、性别、年龄等相关脸部特征以及图像的标志
- 表情检测 – 根据图像中的脸部信息推断出表情状态
- 验证 – 验证同一个人的两张不同表情的差异
- 识别 – 根据已知的人里识别出某个人
- 查找相似 —— 对人脸检测、分组以及排名以找出类似的人脸
- 分组 – 基于脸部特征进行人的分组
- Person Group/Person/Face Lists; 创建、管理和训练分组、脸部和人列表用于识别、分组和查找相似的脸部特征
- 图像描述 —— 描述图像的可视化内容并返回真实世界中的表述方式
- 图像分析 —— 抽取图像中的关键信息,例如可判断图片是否包含色情性质
- OCR – 检测和提取图像中的文字
- 缩略图 – 根据图像的关键点来创建缩略图
图层 (体验阶段)
- 应用图像层到多个图像上,将发现的特征进行可视化展现
- 在人脸和图像上使用字幕
- 形象的描述脸部和视觉特征集
- 对图像中的人脸进行像素化
其他特性
- 支持本地和远程图像
- 参数校验
开始
- Java 8
- MS Cognitive 库的订阅秘钥 (免费注册)
- 添加来自 JCenter 的依赖
Gradle
repositories { jcenter() } dependencies { compile "cognitivej:cognitivej:0.6.2" ... }
Maven
<dependency> <groupId>cognitivej</groupId> <artifactId>cognitivej</artifactId> <version>0.6.2</version> <type>pom</type> </dependency>
封装器 简单的关于请求、响应和参数对象的封装,例如 Face, FaceAttributes,Person 等等
示例
public static void main(String[] args) { FaceScenarios faceScenarios = new FaceScenarios(getProperty("azure.cognitive.subscriptionKey"), getProperty("azure.cognitive.emotion.subscriptionKey")); ImageOverlayBuilder imageOverlayBuilder = ImageOverlayBuilder.builder(IMAGE_URL); imageOverlayBuilder.outlineFacesOnImage(faceScenarios.findFaces(IMAGE_URL), RectangleType.FULL, CognitiveJColourPalette.STRAWBERRY).launchViewer(); }
示例
public static void main(String[] args) throws IOException { FaceScenarios faceScenarios = new FaceScenarios(getProperty("azure.cognitive.subscriptionKey"), getProperty("azure.cognitive.emotion.subscriptionKey")); Face faces = faceScenarios.findSingleFace(IMAGE_URL); ImageOverlayBuilder.builder(IMAGE_URL).outFaceLandmarksOnImage(faces).launchViewer(); }
示例
public static void main(String[] args) { FaceScenarios faceScenarios = new FaceScenarios(getProperty("azure.cognitive.subscriptionKey"), getProperty("azure.cognitive.emotion.subscriptionKey")); List<Face> faces = faceScenarios.findFaces(IMAGE_URL); ImageOverlayBuilder.builder(IMAGE_URL).outlineFacesOnImage(faces, RectangleType.CORNERED, CognitiveJColourPalette.MEADOW).writeFaceAttributesToTheSide(faces, CognitiveJColourPalette.MEADOW).launchViewer(); }
示例
public static void main(String[] args) { FaceScenarios faceScenarios = new FaceScenarios(getProperty("azure.cognitive.subscriptionKey"), getProperty("azure.cognitive.emotion.subscriptionKey")); ImageOverlayBuilder.builder(CANDIDATE_1); imageOverlayBuilder.verify(CANDIDATE_2, faceScenarios.verifyFaces(CANDIDATE_1, CANDIDATE_2)).launchViewer(); }
示例
public static void main(String[] args) { FaceScenarios faceScenarios = new FaceScenarios(getProperty("azure.cognitive.subscriptionKey"), getProperty("azure.cognitive.emotion.subscriptionKey")); ImageOverlayBuilder imageOverlayBuilder = ImageOverlayBuilder.builder(IMAGE); List<ImageHolder> candidates = candidates(); People people = ScenarioHelper.createPeopleFromHoldingImages(candidates, ImageNamingStrategy.DEFAULT); String groupId = faceScenarios.createGroupWithPeople(randomAlphabetic(6).toLowerCase(), people); }
public static void main(String[] args) { FaceScenarios faceScenarios = new FaceScenarios(getProperty("azure.cognitive.subscriptionKey"), getProperty("azure.cognitive.emotion.subscriptionKey")); ImageOverlayBuilder imageOverlayBuilder = ImageOverlayBuilder.builder(IMAGE); faceScenarios.findFaces(IMAGE).stream().forEach(imageOverlayBuilder:: pixelateFaceOnImage); imageOverlayBuilder.launchViewer(); }
public static void main(String[] args) { FaceScenarios faceScenarios = new FaceScenarios(getProperty("azure.cognitive.subscriptionKey"), getProperty("azure.cognitive.emotion.subscriptionKey")); ImageOverlayBuilder.builder(IMAGE_URL).outlineEmotionsOnImage(faceScenarios.findEmotionFaces(IMAGE_URL)).launchViewer(); }
public static void main(String[] args) { ComputerVisionScenario computerVisionScenario = new ComputerVisionScenario(getProperty("azure.cognitive.vision.subscriptionKey")); ImageDescription imageDescription = computerVisionScenario.describeImage(IMAGE_URL); ImageOverlayBuilder.builder(IMAGE_URL).describeImage(imageDescription).launchViewer(); }
public static void main(String[] args) { ComputerVisionScenario computerVisionScenario = new ComputerVisionScenario(getProperty("azure.cognitive.vision.subscriptionKey")); OCRResult ocrResult = computerVisionScenario.ocrImage(IMAGE_URL); ImageOverlayBuilder.builder(IMAGE_URL).ocrImage(ocrResult).launchViewer(); }
用户点评