java调用dll进行人脸识别(JNI的使用)

来源:互联网 发布:2g网络什么时候关闭 编辑:程序博客网 时间:2024/05/22 10:36

1.JNI部分

调用JNI基类(JNIBase.java)

 

实现基类(JNIOpencv.java)

 

2.编译文件

运行——>cmd——>进入java源文件夹

javac -d . JNIBase.java

javac -d . JNIOpencv.java

javah lveyo.bcndyl.jni.opencv.JNIOpencv //生成lveyo_bcndyl_jni_opencv_JNIOpencv.h头文件

 

二、visual C++6.0

3.建立工程(选择win32 Dynamic-Link Library)

tools---->Options---->Drectories(添加以下目录)

4.点击工程右键(先确定自己已经安装和配置好OpenCV,可以到OpenCV中文官网参考visualC++6.0配置安装opencv步骤)

选择“设置”,下拉选择“所有配置”,在右方区域点击连接,在对象/库模块下添加

cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib

5.新建头文件veyo_bcndyl_jni_opencv_JNIOpencv.h

添加在编译时生成的头文件代码:

6.新建jniOpenCV.cpp程序文件(检测主程序)

然后进行编译、组建

7.进入c++源文件夹把DEBUG里生成的jniOpenCV.dll拖入D:/mylib里(具体原因参考我的另一篇文章《java调用dll(JNI的使用)》)同时把Opencv的C:/Program Files/OpenCV/bin目录下的所有dll文件拖入D:/mylib中(java程序调用需要)

 

8.D:/mylib中需要拖入haarcascade_frontalface_alt2.xml文件(OpenCV提供的人脸特征文件)

 

 

三、回到java部分

9.新建Test.java(进行程序测试)

注意先在D盘放入人物图片

运行程序

如果嫌麻烦,这里有个下载地址:http://download.csdn.net/source/2834782