關於opencv的整理

https://www.cnblogs.com/yezhang/p/4006134.html

在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的官網

作者:星河千里

出處:http://yezhang.cnblogs.com/

本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章