1Using OpenCV Java with Eclipse {#tutorial_java_eclipse}
2==============================
3
4Since version 2.4.4 [OpenCV supports Java](http://opencv.org/opencv-java-api.html). In this tutorial
5I will explain how to setup development environment for using OpenCV Java with Eclipse in
6**Windows**, so you can enjoy the benefits of garbage collected, very refactorable (rename variable,
7extract method and whatnot) modern language that enables you to write code with less effort and make
8less mistakes. Here we go.
9
10Configuring Eclipse
11-------------------
12
13First, obtain a fresh release of OpenCV [from download page](http://opencv.org/downloads.html) and
14extract it under a simple location like `C:\OpenCV-2.4.6\`. I am using version 2.4.6, but the steps
15are more or less the same for other versions.
16
17Now, we will define OpenCV as a user library in Eclipse, so we can reuse the configuration for any
18project. Launch Eclipse and select Window --\> Preferences from the menu.
19
20![](images/1-window-preferences.png)
21
22Navigate under Java --\> Build Path --\> User Libraries and click New....
23
24![](images/2-user-library-new.png)
25
26Enter a name, e.g. OpenCV-2.4.6, for your new library.
27
28![](images/3-library-name.png)
29
30Now select your new user library and click Add External JARs....
31
32![](images/4-add-external-jars.png)
33
34Browse through `C:\OpenCV-2.4.6\build\java\` and select opencv-246.jar. After adding the jar,
35extend the opencv-246.jar and select Native library location and press Edit....
36
37![](images/5-native-library.png)
38
39Select External Folder... and browse to select the folder `C:\OpenCV-2.4.6\build\java\x64`. If you
40have a 32-bit system you need to select the x86 folder instead of x64.
41
42![](images/6-external-folder.png)
43
44Your user library configuration should look like this:
45
46![](images/7-user-library-final.png)
47
48Testing the configuration on a new Java project
49-----------------------------------------------
50
51Now start creating a new Java project.
52
53![](images/7_5-new-java-project.png)
54
55On the Java Settings step, under Libraries tab, select Add Library... and select OpenCV-2.4.6, then
56click Finish.
57
58![](images/8-add-library.png)
59
60![](images/9-select-user-lib.png)
61
62Libraries should look like this:
63
64![](images/10-new-project-created.png)
65
66Now you have created and configured a new Java project it is time to test it. Create a new java
67file. Here is a starter code for your convenience:
68@code{.java}
69import org.opencv.core.Core;
70import org.opencv.core.CvType;
71import org.opencv.core.Mat;
72
73public class Hello
74{
75   public static void main( String[] args )
76   {
77      System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
78      Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );
79      System.out.println( "mat = " + mat.dump() );
80   }
81}
82@endcode
83When you run the code you should see 3x3 identity matrix as output.
84
85![](images/11-the-code.png)
86
87That is it, whenever you start a new project just add the OpenCV user library that you have defined
88to your project and you are good to go. Enjoy your powerful, less painful development environment :)
89