OpenCV on Raspberry Pi – Using Java(3)- 在 Mac OS 安裝與測試 OpenCV << 前情
準備工作
- RASPBERRY PI 3 MODEL B
- 個人電腦
- 可以使用PuTTY(Windows)或ssh(Mac OS)連線到Raspberry Pi
- 已經安裝好OpenCV
- 已經安裝與設定好NetBeans,並且測試OpenCV應用程式
Raspberry Pi作業系統安裝與網路連線設定請參考:
建置 OpenCV 程式庫
在個人電腦連線到Raspberry Pi的視窗,執行下列的指令安裝需要的套件(需要花費一些時間,請耐心等候):
sudo apt-get -y install ant build-essential cmake cmake-curses-gui
同樣在連線到Raspberry Pi的視窗,執行下列下載OpenCV套件與解壓縮的指令:
cd ~
wget http://github.com/Itseez/opencv/archive/3.1.0.zip
unzip 3.1.0.zip
同樣在連線到Raspberry Pi的視窗,執行下列建立建置資料夾的指令,建置的檔案存放在建立好的「build」資料夾:
cd ~/opencv-3.1.0
mkdir build
cd build
執行下列的指令,建立OpenCV程式庫的設定資訊(需要花費一些時間,請耐心等候):
cmake -D ANT_EXECUTABLE=/usr/bin/ant \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_SHARED_LIBRARY=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_opencv_python3=OFF \
-D CMAKE_BUILD_TYPE=RELEASE \
-D JAVA_AWT_INCLUDE_PATH=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include \
-D JAVA_AWT_LIBRARY=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include/jawt.h \
-D JAVA_INCLUDE_PATH=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include \
-D JAVA_INCLUDE_PATH2=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include/linux \
-D JAVA_JVM_LIBRARY=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include/jni.h \
-D WITH_JPEG=OFF ..
執行完成的畫面:

執行下列的指令建置OpenCV程式庫,指令執行以後需要花費一些時間(Pi 3大約需要30分鐘,其它版本需要1到2個小時):
執行中的畫面,左側會顯示目前的進度:

執行完成的畫面:

NetBeans 遠端開發環境
依照你的作業系統,參考下列的說明,確定已經在個人電腦安裝與建立好NetBeans開發環境:
安裝好NetBeans開發工具以後,為了方便撰寫與測試應用程式,為NetBeans加入遠端執行的設定,寫好應用程式以後,就可以讓NetBeans自動傳送包裝好的檔案到Raspberry Pi,啟動應用程式以後,也可以在NetBeans中監控應用程式的執行狀態。依照下列的步驟執行設定的工作:
- 啟動Raspberry Pi。
- 在工作電腦啟動已經安裝與設定好的NetBeans。
-
選擇NetBeans功能表「Tools -> Java Platforms」,在開啟的視窗選擇「Add Platform…」:

-
選擇「Remote Java Standard Edition」後選擇下一步:

-
依照下列說明輸入需要的資訊:
- Platform Name:為這個遠端的Raspberry Pi Java平台取一個名稱。
- Host:Raspberry Pi的IP位址。
- Username:Raspberry Pi的使用者名稱pi。
- Password:使用者pi的密碼。
- Remote JRE Path:儲存在Raspberry Pi的JRE位置,Java SE 8的位置在「/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt」。
- Working Dir:應用程式上傳到Raspberry Pi的儲存位置。
-
輸入完成後選擇「Finish」完成設定:

-
NetBeans會連線到指定的Raspberry Pi執行一些測試,如果設定的資訊都沒有問題,NetBeans就會儲存這個Java遠端執行環境的設定。在「Exec Prefix」欄位輸入「sudo」。最後選擇「Close」關閉這個視窗:

在 Raspberry Pi 執行 OpenCV 應用程式
依照下列的步驟,執行應用程式專案的遠端執行環境的設定:
-
在HelloOpenCV專案目錄上按滑鼠右鍵,選擇「Properties」。在開啟的視窗選擇「Run」目錄後選擇「New…」按鈕,準備為這個專案建立一個新的執行設定檔:

-
在對話框輸入一個名稱後選擇「OK」按鈕:

-
「Runtime Platform」選擇剛才建立的遠端Raspberry Pi Java平台,在「VM Options」輸入下面的內容:
-Djava.library.path=/home/pi/opencv-3.1.0/build/lib
最後選擇「OK」完成設定:

-
在專案目錄上按滑鼠右鍵後選擇「Run」,NetBeans在包裝好應用程式後,傳送到Raspberry Pi執行。
-
如果執行後顯示下面的內容,表示遠端執行環境與Raspberry Pi的OpenCV,都已經正確的安裝與設定:
mat = [ 1, 0, 0;
0, 1, 0;
0, 0, 1]
在開發的過程,可以採用上面說明的方式,讓你的應用程式在Raspberry Pi執行測試。如果需要在Raspberry Pi直接執行應用程式,在個人電腦連線到Raspberry Pi的視窗,執行下列切換資料夾與執行應用程式的指令:
cd ~/NetBeansProjects/HelloOpenCV/dist
java -Djava.library.path=/home/pi/opencv-3.1.0/build/lib -jar HelloOpenCV.jar
後續 >> OpenCV on Raspberry Pi – Using Java(5)- 使用 OpenCV 拍攝照片(USB Webcam)
|