https://www.cnblogs.com/yezhang/p/4006134.html
在IntelliJ IDEA 13中配置OpenCV的Java開發環境
準備工作:
- 下載IDEA 13(這裏以版本13爲例,後面簡稱IDEA);
- 下載Java JDK(用於配置基本的Java開發環境);
- 下載OpenCV 2.4.9(這裏以版本2.4.9爲例,據這篇文章說,OpenCV的2.4版本開始支持Java API接口);
- 安裝IDEA;
- 安裝JDK,並在IDEA中配置JDK;
- 將下載好的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的官網。
作者:星河千里
出處:http://yezhang.cnblogs.com/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。