我的第一篇博文已经讲过在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的方法。