javacv/opencv 环境配置教程


b)         eclipse下新建一个Java ProjectTestJavacv(这里名字随便取了)

Java版本:jdk1.6.0_33

import static com.googlecode.javacv.cpp.opencv_core.*;

Eclipse Java EE IDE for Web Developers.

 

Version: Helios Service Release 2

a)         下载javacv-0.6-bin.zip,注意我的是0.6版本。解压,可看到文件目录:

#pragma comment(lib, "opencv_highgui246d.lib")

(2)       在库目录里添加:


 

2.       双击opencv.x.x.exe安装,其实就是解压过程(注意:一定要把它解压到C盘根目录下,否则eclipse配置javacv的时候会失败)

C:\opencv\build\x86\vc10\bin;C:\opencv\build\java\x86;

3.       然后在高级设置里面设置环境变量添加path

import static com.googlecode.javacv.cpp.opencv_imgproc.*;

Error1

新建工程-》打开属性管理器-》双击Debug|Win32下的Microsoft.Cpp.Win32.user-VC++目录:

(1)       在包含目录里面添加:

C:\opencv\build\include;C:\opencv\build\include\opencv;C:\opencv\build\include\opencv2;

 

运行成功。配置完成。

库目录这里其实可以具体到highguicore等库的。如许就没有用在程序前面添加:

 

#pragma comment(lib, "opencv_highgui246d.lib")

 

用下面的代码来测试,图片可以随意用一张就行:

#include

       if(image!=null){        

#include

 

#pragma comment(lib, "opencv_core246d.lib")

    {

f)          刚刚javacv-0.6-bin.zip解压后得到的目录里面会有javacv-android-arm.jar这个文件,

using namespace cv;

   

int main()

{//cvtColor(frame,gray,CV_BGR2GRAY);

    namedWindow("show image", WINDOW_AUTOSIZE);

    Mat src = imread("opencv.png");

    while(1)

Visual Studio版本: 2010旗舰版

       imshow("show image", src);

       if (waitKey(0) == 27)

           return 0;

    }

 

    return 0;

}

 

运行成果显示图片,测试成功。

 

5.       然后开初配置eclipsejavacv

 

 

我的是win7-32位系统,

c)         TestJavacv下面新建文件目录libs/armeabi,建好之后,文件目录如下图所示

 

d)         javacv-0.6-bin.zip解压后得到的一切的jar文件拷贝到libs文件的根目录下,注意:没有是armeabi目录。(其实像macosxlinux几个jar可以没有用拷贝过去的)

e)         右键刷新下TestJavacv项目,然后使用右键TestJavacv ->Build Path->Configure Build Path 在里面Add JARS,把刚才拷贝过来的一切jar包都参加到项目中。

 

#pragma comment(lib, "opencv_core246d.lib")

Eclipse版本:

可以看到解压文件目录里面有opencv-2.4.6.1-android-arm.jar文件,以及ffmpeg-2.0.1-android-arm.jar

再把这3jar解压,把它们里面一切*.so文件直接拷贝到刚创建的“libs/armeabi”文件夹中

       }

    }

接着,下载javacv-0.6-cppjars.zip,解压(注意是0.6版本),

(第一个是为了vs2010设置的,第二个是为了eclipse设置的)

圆通快递查询单号import static com.googlecode.javacv.cpp.opencv_highgui.*;

 

public class Smoother {

 

    public static void smooth(String filename){

       IplImage image = null;

        image=cvLoadImage(filename);

      

#include

           cvSmooth(image,image,CV_GAUSSIAN,3);

           cvSaveImage("D:\\new-lena.jpg",image);

           cvReleaseImage(image);

g)         如许javacv就配置好了

    }

   

    public static void main(String args[]){      

       smooth("D:\\lena.jpg");

h)         测试代码(先在D盘根目录下放lena.jpg图片):

Build id: 20110218-0911

}

 

C:\opencv\build\x86\vc10\lib;

这是在我本人机器上测试,一步步亲自来的,绝非网上拷贝的。

只要步骤、版本正常,都没问题。

1.       下载opencv我用的版本是2.4.6.0

程序报异常:Java.lang.UnsatisfiedLinkError:can't find opencv_core245.dll

常见问题:

4.       可以先在vs2010上测试opencv

 程序报异常:no jniopencv_core in java.library.path

原因:     

能够是jar包只拷贝了javacpp.jarjavacv.jarlibs目录下,只要将一切的jar包都拷过去就没问题了,今天在这个上面栽了好久的,主要是被文献误导了,老外的文献里面说只要拷两个的,如下图所示

      还有就是,一定要记得*.so文件啊!!!具体看前面的步骤。
 

 

Error 2.

 

这个应该是JavaCV的版本和OpenCV的版本问题了,最好一致,比如:

opencv 2.4.5 + javacv0.5

或者opencv 2.4.6 + javacv0.6(这是我本人用的)

 

另外,还有一个最大的遗憾,JavaCV目前没有支持中文,所以大家的图片或者路径名中最好没有要包括中文

 



还有一种使用javacv的方法:http://www.cnblogs.com/pangblog/archive/2013/08/17/3265445.html 
配置很简单,但是这种是通过java的风格来弄的,和opencv原来的api差很远。用起来困难

你可能感兴趣的:(新建,代码,步骤)