第一步:安装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
-
import
static
com.googlecode.javacv.cpp.opencv_core.*;
-
import
static
com.googlecode.javacv.cpp.opencv_imgproc.*;
-
import
static
com.googlecode.javacv.cpp.opencv_highgui.*;
-
-
public
class
Smoother
{
-
-
public
static
void
smooth(String
filename){
-
IplImage
image=cvLoadImage(filename);
-
if
(image!=
null
){
-
cvSmooth(image,image,CV_GAUSSIAN,
3
);
-
cvSaveImage(
"D:\\new-lena.bmp"
,image);
-
cvReleaseImage(image);
-
}
-
}
-
-
}
Test.java
-
public
class
Test
{
-
-
public
static
void
main(String
args[]){
-
Smoother.smooth(
"D:\\lena.bmp"
);
-
}
-
-
}
通过上面的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)创建