java图像识别库_CognitiveJ一个Java的人脸图像识别开源分析库
CognitiveJ 是一个开源的,支持 Java 8 API 的库,用于管理和编排 Java 应用和微软的Cognitive(Project Oxford)机器学习和图像处理库的项目,可以让你查询以及分析图像。
一:人脸识别
1.人脸检测– 捕获脸部、性别、年龄等相关脸部特征以及图像的标志
2.表情检测 – 根据图像中的脸部信息推断出表情状态
3.验证 – 验证同一个人的两张不同表情的差异
4.识别 – 根据已知的人里识别出某个人
5.查找相似 —— 对人脸检测、分组以及排名以找出类似的人脸
6.分组 – 基于脸部特征进行人的分组
7.Person Group/Person/Face Lists; 创建、管理和训练分组、脸部和人列表用于识别、分组和查找相似的脸部特征
二:视觉
1.图像描述 —— 描述图像的可视化内容并返回真实世界中的表述方式
2.图像分析 —— 抽取图像中的关键信息,例如可判断图片是否包含色情性质
3.OCR – 检测和提取图像中的文字
4.缩略图 – 根据图像的关键点来创建缩略图
三:图层 (体验阶段)
1.应用图像层到多个图像上,将发现的特征进行可视化展现
2.在人脸和图像上使用字幕
3.形象的描述脸部和视觉特征集
4.对图像中的人脸进行像素化
四:其他特性
1.支持本地和远程图像
2.参数校验
五:代码示例
1.Gradle
repositories {
jcenter()
}
dependencies {
compile "cognitivej:cognitivej:0.6.2"
}
2.Maven支持
cognitivej
cognitivej
0.6.2
pom
3.链式构建器 - 该构建器是 MS Cognitive REST 服务的简单轻量级封装,用来管理参数和响应、HTTP 通讯和重试策略的编排。构建器使用链式设计模式允许方便的在资源处理过程中进行操作。
封装器 简单的关于请求、响应和参数对象的封装,例如 Face, FaceAttributes,Person 等等
4.脸部检测 可以检测图片中的人脸,并返回一组脸部结果集合。
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();
}
5.脸部特征 用来检测图片中人脸的特征标志信息
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();
}
6.脸部属性检测 显示所检测到的脸部的属性,例如性别、年龄、是否佩戴眼镜等
public static void main(String[] args) {
FaceScenarios faceScenarios = new FaceScenarios(getProperty("azure.cognitive.subscriptionKey"),
getProperty("azure.cognitive.emotion.subscriptionKey"));
List faces = faceScenarios.findFaces(IMAGE_URL);
ImageOverlayBuilder.builder(IMAGE_URL).outlineFacesOnImage(faces, RectangleType.CORNERED,
CognitiveJColourPalette.MEADOW).writeFaceAttributesToTheSide(faces, CognitiveJColourPalette.MEADOW).launchViewer();
}
7.脸部验证 用来验证两个不同的脸部是否属于一个人,包含一个检测的可靠指数。
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();
}
8.脸部标识 标识出图像中的人。在标识之前,我们需要提供一组候选样本,当前最多支持 1000 个候选样本。
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 candidates = candidates();
People people = ScenarioHelper.createPeopleFromHoldingImages(candidates, ImageNamingStrategy.DEFAULT);
String groupId = faceScenarios.createGroupWithPeople(randomAlphabetic(6).toLowerCase(), people);
}
9.脸部像素化 将图像中所有的脸部信息标识出来并进行像素化。
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();
}
10.视觉描述 使用人类可读的方式来分析和描述图像中的内容。
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();
}
11.OCR 用来分析和提取图像中包含的文字信息。
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();
}
java图像识别库_CognitiveJ一个Java的人脸图像识别开源分析库相关推荐
- (一)初识java ---我的第一个java程序
初识java ---我的第一个java程序 课程目录 l 準備 l 開発環境的準備 l 環境変数Path設定 l 第一个程序 目标 « 实现自己的HelloWorld并运行看到结果 一.準備 ...
- CognitiveJ一个Java的人脸图像识别开源分析库
CognitiveJ 是一个开源的,支持 Java 8 API 的库,用于管理和编排 Java 应用和微软的Cognitive(Project Oxford)机器学习和图像处理库的项目,可以让你查询以 ...
- 揭秘java虚拟机 kindle_Kindle有一个java虚拟机
Kindle有一个java虚拟机 从网上已经出现的资料看,kindle严重依赖java.所有的应用都象是用java开发的.好象kindle是用的CDC和CVM.如果Amazon开放kindle,jav ...
- java图片缩放工具类,一个JAVA图形缩放处置工具类
一个JAVA图形缩放处理工具类 调用的例子 import java.io.FileOutputStream; import java.io.IOException; import javax.imag ...
- 一个java源文件允许_一个Java源文件中最多只能有一个class定义
一个Java源文件中最多只能有一个class定义 答:× 确诊甲状腺功能紊乱的常规指标是 答:FT3和FT4 I will not let my children in that way. 答:be ...
- java gui 打开另一个,java – 从另一个JFrame Gui访问vars
好的,我已根据您的说法对我的代码进行了一些更改.我有3个班: 第二类(和第一个GUI):我有4个JButton – Simulare,CazParticular,Start和HandSelection ...
- java多状态机_一个java状态机样例的代码
在UML当中有状态机视图,这个状态机可以用于自动售货机,自动售票机等等场景,下面是用java代码模拟的一个状态机: 1.状态机接口 package stateMachine; /** * 状态机接口 ...
- java 级数_编写一个Java程序实现级数运算。
编写一个Java程序实现级数运算.其中:定义级数求和类,以及级数求积(阶乘)类,在项目主类中声明一个级数求和对象和求阶乘对象,由键盘输入级数的n值,并打印出1+2+...+n的和,以及... 编写一个 ...
- java类库geotools_Geotools是一个java类库
Geotools是一个java类库,它提供了很多的标准类和方法来处理空间数据,同时这个类库是构建在OGC标准之上的,是OGC思想的一种实现.而OGC是国际标准,所以geotools将来必定会成为开源空 ...
最新文章
- 谈IE的浏览器模式和文档模式
- Python函数中的变量作用域
- POJ 2942 Knights of the Round Table ★(点双连通分量+二分图判定)
- 腾讯的老照片修复算法,我把它搬到网上,随便玩
- vue部署到服务器_利用Gulp实现代码自动化部署
- Ubuntu 安装 chrome
- ad中那个快捷键是重复上一部_Excel中的F4快捷键用的好,告别加班没烦恼!
- mkdir() mkdirs() createNewFile
- 对登录验证功能进行GUI设计
- 开发一款APP需要多少钱?
- 记事本字符编码没有Unicode选项
- Office 365导出PDF带备注页
- 苹果开发者账号(公司级)和邓白氏编码(D-U-N-S)申请记录(2015.06)
- [深入理解Android卷二 全文-第五章]深入理解PowerManagerService
- 【Android】精通Android UI设计
- 【性能测试】获取性能系统指标之示例Python代码
- Spark On YARN 环境搭建
- ImageNet准确率超过90%!谷歌大脑开源V-MoE,用稀疏条件计算来训练目前最大的视觉模型!(NeurIPS 2021)...
- 【QML】C++访问QML函数获取返回值时报:Unable to invoke methods with return values in queued connections
- 【❗划重点!C语言函数参数传递只有两种方式(值传递,地址传递),不支持“引用传递”!❗】
热门文章
- 程序包无效:“CRX_HEADER_INVALID“的解决方法(最全最细)
- 云原生时代下的容器镜像安全(上)
- 读书百客:《五美吟·红拂》赏析
- 作为一个编程新手如何学好Java编程?
- 机器学习中的核函数与核方法(好!)
- 漏洞扫描--需要整改的
- sql数据类型转换(cast() and convent())函数)(转)
- 会声会影导入视频是黑色的 会声会影导入视频只有声音
- 互联网医疗美容平台新氧域名—soyoung.com
- Python Turtle绘图基础(三)——Turtle色彩和画笔设置