zoukankan      html  css  js  c++  java
  • java中使用opencv

    Java + opencv学习:在Eclipse下配置基于Java的OpenCV开发环境

     分类:

    最近研究OpenCV想用java进行开发,因此研究了一下怎么在Eclipse中配置基于java的Opencv.

    第一步:先到OpenCV官网下载你想要的版本,假设使用的是2.4.6版本。这里附上下载地址:http://opencv.org/downloads.html,在官网下载你想要的版本,解压到本地的某个目录。比如 D:/OpenCV/。

    第二步,打开Eclipse,并找到Window –> Preferences.

     

    第三步:进入Preferences菜单后,找到Java –> Build Path –> User Libraries ,然后点击New

     

    第四步:点击上面对话框的New之后,会弹出一个对话框,如下图所示,在里面填入一个名字,如OpenCV-2.4.6

     

    第五步:点击右侧的Add External JARs

     

    第六步:点击后,浏览文件夹找到前面解压的文件夹,D:OpenCVuildjava,选择里面的opencv-246.jar,添加完jar包后,展开刚才添加的jar包,选择Native library location,点击右侧的Edit按钮,对其进行编辑

    第七步:点击 External Folder...选择目录到:D:OpenCVuildjavax64,然后点击ok   ,如果你使用的32位系统则选择x86文件夹

     

    第八步:配置完成后的结果应该是这样的。

     

     

    这样就配置完成了。下面进行一个简单的测试。创建一个Java Project,然后在项目上右键,Build Path ---->Configure Build Path ,点击Libraries选项卡,点击下面的Add Library,弹出来的对话框中选择“User Library”。

    然后勾选OpenCV-2.4.6,这样就添加完成了。

    添加完成后的效果如下:

     

    下面就可以进行测试了,可以使用如下的代码进行测试。

     

    [java] view plain copy
     
    1. import org.opencv.core.Core;  
    2. import org.opencv.core.CvType;  
    3. import org.opencv.core.Mat;  
    4.   
    5. public class Hello  
    6. {  
    7.    public static void main( String[] args )  
    8.    {  
    9.       System.loadLibrary( Core.NATIVE_LIBRARY_NAME );  
    10.       Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );  
    11.       System.out.println( "mat = " + mat.dump() );  
    12.    }  
    13. }  
    package testOpencvJava;
    
    import org.opencv.core.Core; 
    import org.opencv.core.CvType; 
    import org.opencv.core.Mat;
    
    import org.opencv.core.*;
    
    import org.opencv.imgproc.*; 
    import org.opencv.highgui.*;
    
    public class Hello {
    
    //    public static void main(String[] args) {
    //    // TODO Auto-generated method stub
    //
    //    }

    public static void main( String[] args ) 

    System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); 
    Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 ); 
    mat = Mat.ones( 100, 100, CvType.CV_8UC1 ); 

    double [ ] valsSca= {255,255,255 };
    org.opencv.core.Scalar s = Scalar.all(255.0) ;//= "";//"";// = valsSca ;
    s.set(valsSca);
    double [] widHei = { 100.0,100.0 };
    org.opencv.core.Size sz=new Size(widHei) ;//= Size( );
    sz.set( widHei );
    sz.height=100;
    sz.width=100;
    mat=new Mat( sz, 0 , s );
    // mat=Mat();
    // mat.nativeObj = mat.nativeObj* 100;

    // System.out.println( "mat = " + mat.dump() ); 

    // imshow( "mat", mat );
    Highgui.imwrite( "mat.jpg", mat);

    }

    
    

    }

     


    package testOpencvJava;
    
     
    
    import org.opencv.core.Core;
    import org.opencv.core.Mat;
    import org.opencv.core.MatOfRect;
    import org.opencv.core.Point;
    import org.opencv.core.Rect;
    import org.opencv.core.Scalar;
    import org.opencv.highgui.Highgui;
    import org.opencv.objdetect.CascadeClassifier;
    
    
    public class FaceDetector {
    
    public static void main(String[] args) {
    
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    System.out.println("
    Running FaceDetector");
    
    CascadeClassifier faceDetector = new CascadeClassifier(FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath());
    Mat image = Highgui
    .imread(FaceDetector.class.getResource("wangxinling.JPG").getPath());
    
    MatOfRect faceDetections = new MatOfRect();
    faceDetector.detectMultiScale(image, faceDetections);
    
    System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));
    
    for (Rect rect : faceDetections.toArray()) {
    Core.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height),
    new Scalar(0, 255, 0));
    }
    
    String filename = "wangxinling-ouput.png";
    System.out.println(String.format("Writing %s", filename));
    Highgui.imwrite(filename, image);
    }
    }



  • 相关阅读:
    最短路径 Floyd && spfa
    queue 优先队列
    POJ Wormholes 最短路径 ballman_ ford 有负环
    上帝造题五分钟
    算法提高 新建Microsoft Word文档
    算法训练 最短路
    Ubuntu14 Could not open file /var/lib/dpkg/status
    MongoDB权威指南<2> 1-1 MongoDB 介绍
    SaltStack Char03 实践案例
    ELK Stack
  • 原文地址:https://www.cnblogs.com/leoking01/p/7238732.html
Copyright © 2011-2022 走看看