当前位置: 首页 > news >正文

java 实现人脸检测

1. 安装必要的库

确保你已经安装了JPEG库、BLAS和LAPACK库。在Ubuntu或Debian系统上,可以使用以下命令安装:

sudo apt-get update
sudo apt-get install libjpeg-dev libblas-dev liblapack-dev

在CentOS或Fedora系统上,可以使用以下命令安装:


sudo yum install libjpeg-devel blas-devel lapack-devel

2. 确保dlib使用正确的库

dlib通常会自动检测系统上的JPEG、BLAS和LAPACK库。如果你已经安装了这些库,dlib应该能够自动找到并使用它们。

3. 重新编译dlib库

重新编译dlib库,并确保启用位置无关代码(PIC):

cd dlib
mkdir build
cd build
cmake .. -DDLIB_USE_CUDA=OFF -DUSE_AVX_INSTRUCTIONS=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON
cmake --build .
sudo make install

4.编译Java代码并生成头文件

确保在编译Java代码时指定编码为UTF-8:

javac -encoding UTF-8 -h . DlibFaceDetection.java

5. 编译你的C++代码

在编译你的C++代码时,确保启用位置无关代码(PIC)并链接到JPEG、BLAS和LAPACK库:

g++ -I${JAVA_HOME}/include -I${JAVA_HOME}/include/linux -shared -fPIC -o libDlibFaceDetection.so DlibFaceDetection.cpp -ldlib -ljpeg -llapack -lblas

6. 运行Java程序

确保共享库路径正确,并运行Java程序:

java -Djava.library.path=. DlibFaceDetection test.jpg

解释

  • -DCMAKE_POSITION_INDEPENDENT_CODE=ON:这个选项告诉CMake生成支持位置无关代码的库。
  • -fPIC:这个选项告诉编译器生成位置无关代码。
  • -ldlib -ljpeg -llapack -lblas:这些选项在编译C++代码时链接到dlib、JPEG、LAPACK和BLAS库。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java后端开发(十三)-- Java8 stream的 orElse(null) 和 orElseGet(null)
  • 事务性消息
  • ts-01.泛型(函数和接口)
  • 列表渲染 v-for
  • 2.贪心算法.基础
  • 【零基础】学JS
  • Monaco 多行提示的实现方式
  • UE C++ 多镜头设置缩放 平移
  • SQLServer设置端口
  • Maven 分模块设计与开发 继承
  • Linux安装elasticsearch单机版
  • 伦敦银交易平台价格的突破成不成功?这点很重要!
  • 算法011:最大连续的1的个数
  • 直播平台集成美颜工具详解:视频美颜SDK开发指南
  • 《大语言模型》赵鑫
  • Brief introduction of how to 'Call, Apply and Bind'
  • Hexo+码云+git快速搭建免费的静态Blog
  • iOS 系统授权开发
  • iOS编译提示和导航提示
  • leetcode388. Longest Absolute File Path
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • uva 10370 Above Average
  • 记录:CentOS7.2配置LNMP环境记录
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 小程序 setData 学问多
  • 一个完整Java Web项目背后的密码
  • 译自由幺半群
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 自制字幕遮挡器
  • linux 淘宝开源监控工具tsar
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (java)关于Thread的挂起和恢复
  • (多级缓存)缓存同步
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (六)c52学习之旅-独立按键
  • (一)appium-desktop定位元素原理
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)nsfocus-绿盟科技笔试题目
  • .NET Reactor简单使用教程
  • .NET 药厂业务系统 CPU爆高分析
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • @DataRedisTest测试redis从未如此丝滑
  • [.NET]桃源网络硬盘 v7.4
  • [023-2].第2节:SpringBoot中接收参数相关注解
  • [20150629]简单的加密连接.txt