我的第一篇博文已經講過在Windos下,codeblocks編譯器使用VS2013的VC,並集成opencv。http://blog.csdn.net/canvachen/article/details/52549283
上一篇我也講過,我已經決定加入Linux大軍。這篇就來講講Linux下OpenCV開發環境的搭建。其實在Linux上開發opencv比較簡單。以下以Debian爲例。
1.進CodeBlocks官網下載適合自己系統的安裝包,我的是codeblocks_16.01_amd64_jessie.tar.xz。提取后里面有幾個.deb文件,在終端用dpkg -i name.deb全部安裝這幾個文件,注意先安裝依賴文件。
2.接下來安裝opencv。比較快的方法是直接用apt-get install安裝。
如果想用更新的版本,比如2.4.13或3.1.0,就要去opencv官網下載linux用的源碼,然後用cmake編譯。過程如下:
首先解決依賴問題。
sudo apt-get install build-essential
sudo apt-get install cmake libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libjpeg-dev libpng-dev libtiff-dev libjasper-dev
接下來將官網下的opencv-2.4.13.zip解壓並進入目錄,繼續執行如下。
mkdir build
cd build
cmake ..
sudo make
sudo make install
sudo make這句至少需要幾個小時才能編譯完,做好心理準備。
3.打開codeblocks新建一個project,選擇console application。新建完成後工程右鍵,選擇build option,配置Debug的Search directories的Compiler和Linker,以及Linker settings。
其中,Compiler添加要引入的頭文件位置/usr/local/include/opencv和/usr/local/include/opencv2;
Linker添加庫位置/usr/local/lib;
Linker settings的Link libraries添加/usr/local/lib下opencv的那些.so文件。
測序程序如下:
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
VideoCapture cap(0);
if (!cap.isOpened())
{
return -1;
}
Mat frame;
while (1)
{
cap >> frame;
imshow("當前視頻", frame);
waitKey(10);
}
return 0;
}
講完了codeblocks編譯運行,接下來講講用make編譯opencv工程。
Makefile如下:
SRC=$(shell find . -name "*.cpp")
OBJ=$(SRC:.c=.o)
OUT=test `pkg-config --libs opencv`
CC=g++
$(OUT):$(OBJ)
$(CC) $(OBJ) -o $(OUT)
clean:
rm -rf $(OBJ) $(OUT)
新建一個文件夾,加入main.cpp及Makefile,然後在該目錄下運行make,之後就會生成一個test文件。命令行再輸入./test,這樣項目項目就運行完畢了。如果想用樹莓派做opencv的項目可以考慮用make的方法。