第一步:安装JDK,下载地址 http://www.oracle.com/technetwork/java/javase/downloads/ ,配置环境变量在PATH中添加C:\Program Files\Java\jdk1.6.0_27\bin;路径;cmd进入dos测试输入javac会出现相关信息。

第二步:解压opencv2.4.5,下载地址 http://code.google.com/p/javacv/downloads/list 。环境变量PATH中添加C:\opencv\build\x86\vc10\bin;

第三步:下载javacv_bin

参考链接 http://blog.csdn.net/haoba1987/article/details/8175390

下载链接 http://download.csdn.net/download/rainwithvoice/4420411 ,下载之后解压,可以看到如下文件目录

2)在eclipse下新建一个Java Project:JavaCV(这里名字随便取了)

3)在JavaCV下新建一个文件目录libs/armeabi,建好之后,文件目录如下图所示

4)将步骤1图片中显示的所有的jar文件拷贝到libs文件的根目录下,注意:不是armeabi目录。

5)首先右键刷新下JavaCV项目,然后使用右键JavaCV->Build Path->Configure Build Path, 在里面Add JARS,把刚才拷贝过来的所有jar包都加入到项目中。

6)这样JavaCV就配置好了,接下来有个简单示例

Smoother.java

  1. import static com.googlecode.javacv.cpp.opencv_core.*;
  2. import static com.googlecode.javacv.cpp.opencv_imgproc.*;
  3. import static com.googlecode.javacv.cpp.opencv_highgui.*;
  4. public class Smoother {
  5. public static void smooth(String filename){
  6. IplImage image=cvLoadImage(filename);
  7. if (image!= null ){
  8. cvSmooth(image,image,CV_GAUSSIAN, 3 );
  9. cvSaveImage( "D:\\new-lena.bmp" ,image);
  10. cvReleaseImage(image);
  11. }
  12. }
  13. }

Test.java

  1. public class Test {
  2. public static void main(String args[]){
  3. Smoother.smooth( "D:\\lena.bmp" );
  4. }
  5. }


通过上面的Smoother代码大家可以发现,JavaCV中的代码其实跟OpenCV的C++的代码很相似,除了注意一些指针类型的地方以外,其它基本没多大变化,所以大家用起来应该很方便的。

常见问题:
程序报异常: jniopencv_core.dll: Can't find dependent libraries

这个问题的产生除了 haoba1987博主所说的,还有 缺少C++的运行环境的可能,安装下列中的对应包就可以了

Install Microsoft Visual C++ redistributable package
For 32 bit: http://www.microsoft.com/download/en/details.aspx?id=5555
For 64 bit: http://www.microsoft.com/download/en/details.aspx?id=14632

public class ImageUtil { public static native String hello(String s); public static native int[] disjoint(float[] pm, float[] lm, int w, int h, int neigh... 1,用工具【depends】检查 openCV . dll 的依赖库,发现缺失很多,把主要的几个下载了放入安装包,再执行,异常未 解决 。 2,网上搜索了一些 解决 方案,无意中查到可能跟windows media play有关。进一步查阅微软资料,发现windows 10某些版本默认是不安装media paly的,于是按照步骤,安装media play。重启系统,再次执 现在好多软件底层的代码都是c++编写的,如果考虑到运行效率的话,包括一些移植性问题,有些代码的开发还是会选择c++。但是如果代码中以来很多第三方库,然后你还要做到android端,那也是很崩溃的。如果LZ有一个简单的 OpenCV 的代码,当然是c++,那我要怎么移植到android端呢,换个简单点的说法,我怎么能include的时候不报以下类型的错误:fatal error: opencv 2/ core 这几天在用jnetpcap.dall来测试发送网络包的实验,可是一直在报E:\ java \jdk1.7.0\bin\jnetpcap.dall    Can't find dependent libraries 这个错误,一开始以为是jdk的错误,又把jdk重装了,结果还是一样。 解决 方法为:使用Dependency Walker来检测jnetpcap.dall依赖的那些 dll ,在Dependenc 千万别忘记安装c++ 环境 ,这个问题让我头疼一下午。可能是 java 调用c++的东西再调用摄像头,如果没有c++ 环境 ,一直报找不到 jni opencv _ core . dll . 转载于:https://www.cnblogs.com/zhengshao/p/10285984.html... 需要注意的一点就是需要将 OpenCV 的build/bin文件夹下的 opencv _videoio_ffmpeg460_64. dll 文件拷贝到Windows/Systems32文件夹下。在生活中我们经常会用相机去捕捉我们看到的景物, OpenCV 中也提供了一个非常简单的接口,可以实现该功能。在 OpenCV 中如果我们要操作视频,VideoCapture类是一个非常重要的接口类,它可以从文件或者摄像设备中读取视频。首先我们可以简单的实现一个功能,通过电脑的摄像头得到监测视频,每隔一秒截取视频的图像存储。 Exception in thread "main" java .lang.UnsatisfiedLinkError: F:\workspace\myproject\faceDetect. dll : Can't find dependent libraries at java .lang.ClassLoader$NativeLibrary.load(Native Method) at java .la eclipse上报这个错,百度了很久,尝试过很多方法,终于 解决 Exception in thread "main" java .lang.UnsatisfiedLinkError: no jni opencv _ core in java .library.path at java .lang.ClassLoader.loadLibrary(Unknown Source) at java .lang.Ru... 在 java 平台上 opencv 不是很好用,相比之下 javacv opencv c++相差不多,用起来很方便,下面说一下,我一个小时的安装教程。 首先建议,安装 javacv 0.8( opencv 249)以后的,因为直接添加编辑路径jar包就可以,不用非要讲 opencv 重新安装到c盘下。 1.新建 Java 工程 2.添加jar包: properties-> java build path->libr 本文是关于 java 程序通过 jni 调用c++的 opencv 程序的过程介绍和相关注意事项。实验 环境 为linux系统, java 项目为maven,没有使用IDE,全程命令行。即使系统、工具、或者项目不同,过程也应类似,但要想全程看懂此文需要一定的 java 和c++基础、linux下程序开发经验,对maven还要有一些了解。因为涉及的东西比较多,为了节省时间就省略了一些说明,如果有问题欢迎提问。 (1)创建