1 Star 1 Fork 28

叶缘 / Java人脸识别JSeetaface6

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

JSeetaface6

更新说明

2020.11.16

  1. 对JNI与C++再次重新认识,对全部模块内存进一步优化,在此感谢gitee用户li_yanhui提点。
  2. 在介绍处增加gitee和github的传送门,本人相对于github更经常活跃在gitee上,当然有时候gitee也找不到人,深感抱歉。
  3. SeetafaceUtil.writeRect方法不再在原图上画框框,而是创建一个BufferedImage再画上框框。
  4. SeetafaceUtil.show方法将窗口对象返回给调用者方便操作。

2020.09.10

  1. 对JNI与C++的重新认识,针对常用的模块对内存进一步优化。
  2. Java中SeetaImageData转换C++中SeetaImageData从数组拷贝改为强转以加快操作速度。

2020.08.05

  1. 在resource下增加cpp文件夹,存放不忍直视的jni代码。

介绍

  1. 基于中科院seetaface6进行封装的JAVA人脸识别算法库。
  2. 该封装仅做了java到seetaface6(c++)的连接(jni),可以让java通过resource下x64/JSeetaface6.dll直接使用seetaface6动态库。
  3. 该项目只是本人初学jni的第一个作品,所以我仅会封装自己电脑的环境的windos64位系统,其他系统我还得摸索一下,除非有高人相助,否则一时半会我也提供不了,(本人仅略懂c++语法,其他一概不懂)。
  4. 方法上基本与seetaface6提供的文档相同,但有一些我自认为用不上的方法,以及功能性重复的方法则省略了。并且在含有下划线,方法命名都尽量使用java的规范。
  5. 该封装在java上以及动态库上,都没有对入参有任何校验,使用前需要自行判断入参的有效性。(java上已经做了入参校验)
  6. 该项目没有任何依赖。
  7. 在此提供Seetaface6的传送门
  8. 在此提供Seetaface6入门教程的传送门
  9. 在此提供JSeetaface6的Gitee传送门相对活跃。
  10. 在此提供JSeetaface6的Github传送门
  11. 在此处强调,请认真查看入门教程,如懒得看则记住一点,你所创建的各个模块都是线程不安全的,有些安全的你若认为麻烦就都认为不安全。
  12. 该项目部分接口本人暂时还未测试,仅供参考,建议在使用前自行做大量测试后投入使用。

安装教程

  1. 拉取本代码
  2. 用idea或eclipse导入maven项目
  3. 可以看项目中test目录下
cn.yezhss.seetaface.demo.base.SeetafaceTest

基本上一看就会,或查看下面使用说明 4. 希望能关注微信服务号: 时匆 本人仅想打开服务号里的流量主QAQ,一般情况并不推送(本人懒) 谢谢支持

使用说明

  1. 以上步骤完成后,并不能立即使用,你还需下载官方提供的动态库以及识别模型。详情见 说明2
  2. 需要先进入 SeetafaceTest 类修改自定义参数即可以开始测试,下载地址见说明3
参数 含义
DLL_PATH 官方提供的动态库路径
CSTA_PATH 官方提供的模型路径
TEST_PICT 自己的测试图片
  1. 官方提供的动态库路径以及官方提供的模型路径下载, 请前往Seetaface6,在他的文档说明中有下载地址的模块,下载并解压后 将自定义参数指向你所放路径.
  2. 查看该包下的部分测试代码进行学习使用
cn.yezhss.seetaface.demo
  1. 官方API在本项目中基本都有,方法名雷同,仅对大小写以及下划线进行转换,API可参考你刚刚下载的动态库包里有个docs文件夹,或参考Seetaface6入门教程
  2. 一般的操作方式参考如下:
// 首先创建你关注的类 此处使用FaceDetector做说明
FaceDetector detector = new FaceDetector(官方face_detector.csta在你本地存放的路径);
// 创建完后可直接使用. 但是入参是图片的BGR字节数组,可以使用SeetafaceUtil创建
SeetaImageData image = SeetafaceUtil.toSeetaImageData(你的图片路径);
// 直接使用seetaface提供的方法
SeetaFaceInfoArray infos = detector.detect(image);
// 得到的结果infos可以进行你的自定义操作
...
// 如果使用完后 您的线程需要释放,但项目并不停止则需要调用close方法
// 当然我并不建议你close掉,毕竟创建消耗资源的问题我也不累述,可以重复使用,只需要自行写个存放类进行缓存
detector.close();
  1. 如有疑问便提,看到后会尽快回复

空文件

简介

基于中科院seetaface6进行封装的JAVA人脸识别算法库,好用的点个星星顶我上去。 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/knightzcl/JSeetaface6.git
git@gitee.com:knightzcl/JSeetaface6.git
knightzcl
JSeetaface6
Java人脸识别JSeetaface6
master

搜索帮助

14c37bed 8189591 565d56ea 8189591