本文记录搭建opencv的过程,为以后做一个参考,使用的是树莓派2(Raspberry Pi2),opencv版本为opencv-2.4.9。
我选择的是debian系统,镜像可以在官网下载
安装系统比较简单,我是使用Win32DiskImager工具将镜像文件烧写到SD卡(32G)中,然后将SD卡插入到树莓派中上电就可以了。
在国内,如果使用的是国外的源是不能更新下载软件,而且有许多源使用起来很慢,让人难以忍受,这里给出我使用的源列表:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main non-free contrib
用上面的源列表替代/etc/apt/souces.list
中的内容,然后再终端输入:
sudo apt-get update
打开终端,输入:
sudo apt-get upgrade
sudo rpi-update
update和upgrade都是需要的,我在电脑上安装时没有加这两条指令,最后搭建环境时出现了错误,并且难以解决。
sudo apt-get install build-essential cmake pkg-config
cmake是一个编译配置工具,可以通过编写CMakeLists.txt来控制生成相应Makefile,这种方式也是opencv程序推荐的编译程序的方式。
pkg-config是用来获取库的各种必要信息的,包括版本信息、编译和链接需要的参数等等,在编译时也可以用pkg-config来编译
sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev
sudo apt-get install libgtk2.0-dev
这个库是用来构建GUI的,同时opencv中highgui库也需要用到它。但是这个在安装时最容易出现问题,我遇到的就是安装时提示找不到目标,这种时候可能是源列表有问题,或者是没有更新和升级已安装的软件。
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libatlas-base-dev gfortran
在opencv官网下载opencv源码,我使用的是opencv-2.4.9。解压:
unzip opencv-2.4.9.zip
cd opencv-2.4.9
注意:这一步骤中编译耗时较长,要两个小时左右,请合理安排时间。
cmake .
make
sudo make install
sudo ldconfig
完成之后opencv应该已经安装完成,头文件目录为/usr/local/include/opencv
,库文件目录为/usr/local/lib
。到此opencv安装完成,接下来是测试环境搭建是否成功。
用显示图像的例子来测试,编写一个test.cpp:
#include
#include
#include
using namespace cv;
int main()
{
Mat img = imread("lena.jpg");
namedWindow("test");
imshow("test",img);
waitKey(0);
return 0;
}
imread()函数读取一张图片,参数是图片的路径。
这里用pkg-config的方式来编译opencv程序
g++ `pkg-config --cflags opencv` -o test test.cpp `pkg-config --libs opencv`
./test
参考:
http://www.jb51.net/article/63103.htm