Linux下opencv的安装及运行

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

猜你喜欢

转载自blog.csdn.net/CanvaChen/article/details/52564392