当前位置: 首页 > 工具软件 > CognitiveJ > 使用案例 >

CognitiveJ —— Java 的图像分析库

林英朗
2023-12-01
CognitiveJ 是一个开源的,支持 Java 8 API 的库,用于管理和编排 Java 应用和微软的 Cognitive  (Project Oxford) 机器学习和图像处理库的项目,可以让你查询以及分析图像。


人脸识别


人脸检测– 捕获脸部、性别、年龄等相关脸部特征以及图像的标志
表情检测 – 根据图像中的脸部信息推断出表情状态
验证 – 验证同一个人的两张不同表情的差异
识别 – 根据已知的人里识别出某个人
查找相似 —— 对人脸检测、分组以及排名以找出类似的人脸
分组 – 基于脸部特征进行人的分组
Person Group/Person/Face Lists; 创建、管理和训练分组、脸部和人列表用于识别、分组和查找相似的脸部特征
视觉
图像描述 —— 描述图像的可视化内容并返回真实世界中的表述方式
图像分析 —— 抽取图像中的关键信息,例如可判断图片是否包含色情性质
OCR – 检测和提取图像中的文字
缩略图 – 根据图像的关键点来创建缩略图
图层 (体验阶段)


应用图像层到多个图像上,将发现的特征进行可视化展现
在人脸和图像上使用字幕
形象的描述脸部和视觉特征集
对图像中的人脸进行像素化
其他特性


支持本地和远程图像
参数校验
开始


Java 8
MS Cognitive 库的订阅秘钥 (免费注册)
添加来自 JCenter 的依赖
Gradle


1
2
3
4
5
6
7
8
repositories {
        jcenter()
    }
 
    dependencies {
    compile "cognitivej:cognitivej:0.6.2"
    ...
    }
Maven


1
2
3
4
5
6
<dependency>
     <groupId>cognitivej</groupId>
     <artifactId>cognitivej</artifactId>
     <version>0.6.2</version>
     <type>pom</type>
   </dependency>
链式构建器 - 该构建器是 MS Cognitive REST 服务的简单轻量级封装,用来管理参数和响应、HTTP 通讯和重试策略的编排。构建器使用链式设计模式允许方便的在资源处理过程中进行操作。
场景 - 场景是真实世界的一些用例类,大大的简化了构建器和封装类之间的交互。没有理由不让你直接和构建器打交道,场景提供了更多的样板逻辑来减少负担。图层覆盖 - 允许基于查询的结构来创建和生成新的图像。注意:碰撞检测以及边界检测正在开发中。
封装器 简单的关于请求、响应和参数对象的封装,例如 Face, FaceAttributes,Person 等等


脸部检测 可以检测图片中的人脸,并返回一组脸部结果集合。


示例


1
2
3
4
5
6
7
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();
}

 类似资料: