在IntelliJ IDEA 13中配置OpenCV的Java開發環境


准備工作:

  1. 下載IDEA 13(這里以版本13為例,后面簡稱IDEA);
  2. 下載Java JDK(用於配置基本的Java開發環境);
  3. 下載OpenCV 2.4.9(這里以版本2.4.9為例,據這篇文章說,OpenCV的2.4版本開始支持Java API接口);
  4. 安裝IDEA;
  5. 安裝JDK,並在IDEA中配置JDK;
  6. 將下載好的OpenCV 2.4.9解壓到某個目錄下,例如,解壓后的路徑為“D:\opencv”,該路徑下包含build文件夾和source文件夾。

配置開發環境:

1)在IDEA中新建普通Java項目,命名為“LearningOpenCV”。

2)打開“Project Structure”窗口,可以使用【Ctrl+Alt+Shift+S】快捷鍵,或者通過菜單“File->Project Structure”打開。

3)觀察“Project Structure”窗口左側,找到“Libraries”並單擊。單擊后,如下圖所示。

4)添加OpenCV的庫。點擊“Project Structure”窗口上方的“+”號,選擇“Java”。通過彈出的對話框選擇OpenCV的Java類(這里為“D:\opencv\build\java\opencv-249.jar”)。如下圖所示。

點擊“OK”,形成下圖。

點擊“OK”關閉對話框。

5)建立測試代碼。在src目錄下新建一個Java類,命名為“OpenCVJavaTest”。進一步編寫測試代碼。

 1 import org.opencv.core.Core;
 2 import org.opencv.core.CvType;
 3 import org.opencv.core.Mat;
 4 import org.opencv.core.Scalar;
 5 
 6 /**
 7  * Created by better on 2014/10/4.
 8  */
 9 public class OpenCVJavaTest{
10 
11     static{ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); }
12 
13     public static void main(String[] args) {
14         System.out.println("Welcome to OpenCV " + Core.VERSION);
15         Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
16         System.out.println("OpenCV Mat: " + m);
17         Mat mr1 = m.row(1);
18         mr1.setTo(new Scalar(1));
19         Mat mc5 = m.col(5);
20         mc5.setTo(new Scalar(5));
21         System.out.println("OpenCV Mat data:\n" + m.dump());
22     }
23 }

運行main函數,觀察運行后的情況。此時發生鏈接錯誤(找不到dll)。

 Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java249 in java.library.path 。

下面修復錯誤。

6)配置運行時參數。通過工具欄()或者菜單“Run->Edit Configurations...”打開“Run/Debug Configurations"對話框。

 在對話框窗口右側,找到“VM options”標簽對應的文本框。如下圖紅色箭頭所示。

在文本框中填寫參數,“-Djava.library.path=D:/opencv/build/java/x86;D:/opencv/build/x86/vc12/bin”。注意,所填寫的目錄應當為解壓OpenCV時生成的相對目錄。填寫后效果圖如下。

7)運行測試代碼,觀察程序輸出。

Welcome to OpenCV 2.4.9.0
OpenCV Mat: Mat [ 5*10*CV_8UC1, isCont=true, isSubmat=false, nativeObj=0x4b5b868, dataAddr=0x4b5eeb0 ]
OpenCV Mat data:
[0, 0, 0, 0, 0, 5, 0, 0, 0, 0;
  1, 1, 1, 1, 1, 5, 1, 1, 1, 1;
  0, 0, 0, 0, 0, 5, 0, 0, 0, 0;
  0, 0, 0, 0, 0, 5, 0, 0, 0, 0;
  0, 0, 0, 0, 0, 5, 0, 0, 0, 0]

 8)結束。

 進一步閱讀:

1)OpenCV的Java API官方在線文檔

2)OpenCV的官方Java開發指南

3)OpenCV的官網


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM