在Raspbian上安裝OpenCV
硬體 Raspberry Pi 3
Raspberry Pi 3 | |
---|---|
SoC | Broadcom BCM2837(CPU,GPU DSP和SDRAM、USB) |
CPU | ARM Cortex-A53 64位元 (ARMv8系列) 1.2GHz (四核心) |
GPU | Broadcom VideoCore IV[43], OpenGL ES 2.0, 1080p 30 h.264/MPEG-4 AVC高畫質解碼器 |
記憶體 | 1024 MB (LPDDR2) |
影像輸出 | 畫面用RCA端子(PAL & NTSC)、HDMI,HDMI介面可使用14種解析度,分別從640×350到1920×1200之間 |
板載儲存 | MicroSD卡插槽 |
網路介面 | 10/100Mbps 乙太網介面(RJ45介面),支援802.11n無線網路及藍牙4.1 |
軟體 OpenCV 3.1.0
OpenCV的全稱是Open Source Computer Vision Library,是一個跨平台的電腦視覺庫。OpenCV是由英特爾公司發起並參與開發,以BSD授權條款授權發行,可以在商業和研究領域中免費使用。OpenCV可用於開發實時的圖像處理、電腦視覺以及模式識別程式。該程式庫也可以使用英特爾公司的IPP進行加速處理。
OpenCV可用於解決如下領域的問題:
- 人機互動
- 物體識別
- 圖像分割
- 人臉識別
- 動作識別
- 運動跟蹤
- 機器人
OpenCV | 可使用 |
---|---|
程式語言 | C\C++、Python、Java、MATLAB/OCTAVE、C#、Ch、Ruby、CUDA |
安裝環境 | Windows、Android、Maemo、FreeBSD、OpenBSD、iOS、Linux、Mac OS等 |
OpenCV目前最新有2.4.13和3.1.0兩種版本,第2版的更新是為了讓以前的開發的程式能夠執行並慢慢轉換到第3版,因此目前以第3版(3.X.X)為主。
OpenCV下載
安裝Raspbian
建置PI並安裝Raspbian(參考)
安裝OpenCV
1. 更新套件清單並升級:1
2
3sudo apt-get update
sudo apt-get dist-upgrade -y
reboot
update: 系統將現有的 Package 升級, 如果有相依性的問題, 而此相依性 需要安裝其它新的 Package 或 影響到其它 Package 的相依性時, 此 Package 就不會被升級, 會保留下來。
dist-upgrade: 可以聰明的解決相依性的問題, 如果有相依性問題, 需要 安裝/移除 新的 Package, 就會試著去 安裝/移除 它。 (所以通常這個會被認為是有點風險的升級)
-y:對所有詢問都作肯定的回答,同時不作任何提示
2. 安裝Opencv套件
- 編譯器:
sudo apt-get install build-essential
- 必要套件:
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libv4l-dev
- 選擇性套件:
sudo apt-get install python-dev python-numpy libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev libtbb2 libtbb-dev
套件名稱 | 套件說明 |
---|---|
libgtk2.0-dev | 圖形視窗程式庫 |
libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libv41-dev | 音訊視訊的編解碼、錄製、轉換、串流 |
python-dev python-numpy | python相關 |
libjpeg-dev libpng-dev libtiff-dev libjasper-dev | 圖片格式 |
libdc1394-22-dev | IEEE 1934相機介面(請裝) |
libtbb2 libtbb-dev | TBB是C/C++平行處理程式庫,可讓執行速度加快,但raspbian沒有這套件 |
編譯器與必要套件一定要裝,選擇性套件可裝可不裝。
3.下載並解壓縮OpenCV(2選1)
輸入指令
1
2wget https://github.com/Itseez/opencv/archive/3.1.0.zip
unzip 3.1.0.zip進官網下載
unzip 3.1.0.zip
4.進入OpenCV資料夾,新增一個資料夾並進入1
2
3cd opencv-3.1.0
mkdir build
cd build
5.執行cmake生產建置需要的設定檔cmake -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_TBB=ON -D WITH_TBB=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
TBB設置版本
設定成功
-D BUILD_TBB=ON
TBB平行處理程式庫藉由這裡裝,但是版本通常較舊。
6.開始建置make -j4
參數「-j4」可充分利用四個核心執行。
7.安裝sudo make install
8.執行指令更新程式庫sudo ldconfig
9.檢查OpenCV版本pkg-config --modversion opencv
10.測試OpenCV(以C++為例,使用圖檔test.png)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(){
Mat image = imread("test.png", -1);
imshow("test", image);
waitKey(0);
return 0;
}
11.編譯和執行
編譯(2選1)
1
2g++ -lopencv_core -lopencv_highgui -lopencv_imgcodecs tes.cpp
g++ `pkg-config --libs opencv` test.cpp執行
./a.out
如出現錯誤如下
OpenCV : libopencv_core.so.2.4: cannot open shared object file: No such fileor directory
執行程式前請先輸入:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
參考文章
http://yehnan.blogspot.tw/2015/12/raspberry-piraspbianopencv.html